mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-07 01:36:01 +02:00
Fix for bug 68934: Debug into dll doesn't work.
The "solib-search-path" and "stop-on-solib-events" options are not supported by gdb on CygWin.
This commit is contained in:
parent
be18a50d17
commit
fd4d94d409
2 changed files with 7 additions and 33 deletions
|
@ -1,3 +1,9 @@
|
|||
2004-07-02 Mikhail Khodjaiants
|
||||
|
||||
Fix for bug 68934: Debug into dll doesn't work.
|
||||
The "solib-search-path" and "stop-on-solib-events" options are not supported by gdb on CygWin.
|
||||
* src/org/eclipse/cdt/debug/mi/core/CygwinGDBDebugger.java
|
||||
|
||||
2004-07-02 Alain Magloire
|
||||
|
||||
* cdi/org/eclipse/cdt/debug/mi/core/cdi/ProcessManager.java
|
||||
|
|
|
@ -30,39 +30,7 @@ public class CygwinGDBDebugger extends GDBDebugger {
|
|||
static final CygwinCommandFactory commandFactory = new CygwinCommandFactory();
|
||||
|
||||
protected void initializeLibraries(ILaunchConfiguration config, Session session) throws CDIException {
|
||||
try {
|
||||
ICDISharedLibraryManager manager = session.getSharedLibraryManager();
|
||||
if (manager instanceof SharedLibraryManager) {
|
||||
SharedLibraryManager mgr = (SharedLibraryManager) manager;
|
||||
boolean stopOnSolibEvents =
|
||||
config.getAttribute(IMILaunchConfigurationConstants.ATTR_DEBUGGER_STOP_ON_SOLIB_EVENTS, IMILaunchConfigurationConstants.DEBUGGER_STOP_ON_SOLIB_EVENTS_DEFAULT);
|
||||
try {
|
||||
mgr.setStopOnSolibEvents(stopOnSolibEvents);
|
||||
// By default, we provide with the capability of deferred breakpoints
|
||||
// And we set setStopOnSolib events for them(but they should not see the dll events ).
|
||||
//
|
||||
// If the user explicitly set stopOnSolibEvents well it probably
|
||||
// means that they wanted to see those events so do no do deferred breakpoints.
|
||||
if (!stopOnSolibEvents) {
|
||||
mgr.setStopOnSolibEvents(true);
|
||||
mgr.setDeferredBreakpoint(true);
|
||||
}
|
||||
} catch (CDIException e) {
|
||||
// Ignore this error
|
||||
// it seems to be a real problem on many gdb platform
|
||||
}
|
||||
}
|
||||
List p = config.getAttribute(IMILaunchConfigurationConstants.ATTR_DEBUGGER_SOLIB_PATH, Collections.EMPTY_LIST);
|
||||
if (p.size() > 0) {
|
||||
String[] oldPaths = manager.getSharedLibraryPaths();
|
||||
String[] paths = new String[oldPaths.length + p.size()];
|
||||
System.arraycopy(p.toArray(new String[p.size()]), 0, paths, 0, p.size());
|
||||
System.arraycopy(oldPaths, 0, paths, p.size(), oldPaths.length);
|
||||
manager.setSharedLibraryPaths(paths);
|
||||
}
|
||||
} catch (CoreException e) {
|
||||
throw new CDIException(MIPlugin.getResourceString("src.CygwinGDBDebugger.Error_init_shared_lib_options") + e.getMessage()); //$NON-NLS-1$
|
||||
}
|
||||
// the "search-solib-path" and "stop-on-solib-events" options are not supported in CygWin
|
||||
}
|
||||
|
||||
public ICDISession createLaunchSession(ILaunchConfiguration config, IFile exe) throws CDIException {
|
||||
|
|
Loading…
Add table
Reference in a new issue