I am trying to create a custom GDBDebugger for a C/C++ Application Debug Configuration.
In my plugin I have added an extension:
<extension point="org.eclipse.cdt.debug.core.CDebugger">
<debugger
platform="*"
name="OSE GDB Debugger"
mode="run,core,attach"
cpu="*"
class="com.ose.fmd.cdt.cdi.gdb.processes.GDBDebugger"
id="org.eclipse.cdt.debug.mi.core.CDebuggerNew"
</debugger>
</extension>
My GDBDebugger class:
public class GDBDebugger implements ICDIDebugger2
{
public ICDISession createDebuggerSession(ILaunch launch, IBinaryObject exe, IProgressMonitor monitor) throws CoreException
{
System.out.println("MyGDBDebugger: createDebuggerSession");
return createSession(launch, exe.getPath().toFile(), monitor);
}
public ICDISession createSession(ILaunch launch, File executable, IProgressMonitor monitor) throws CoreException
{
System.out.println("My GDBDebugger: createSession");
return null;
}
}
The createSession() and createGDBSession() within my GDBDebugger class should be run, but instead the ones within the AbstractGDBCDIDebugger class are executed.
I've only got it working once or twice, so I thought it might be related to workspace runtime data and settings. I've tried cleaning both eclipse by running with -clean flag and I've also checked the "Clear the configuration area before launching" option under the Configuration tab within the Run Configuration. However, this does not work. Following the steps for the previous successful launches does not work either.
Does anyone have any ideas how to solve this problem? Thanks in advance!