mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-23 17:05:26 +02:00
Implementing the disassembly mode.
This commit is contained in:
parent
e01a121c1c
commit
fd956221a4
3 changed files with 37 additions and 2 deletions
|
@ -1,3 +1,7 @@
|
|||
2002-10-10 Mikhail Khodjaiants
|
||||
* CDebugTarget.java: Implementing the disassembly mode.
|
||||
* CThread.java: Implementing the disassembly mode.
|
||||
|
||||
2002-10-10 Mikhail Khodjaiants
|
||||
* CSourceManager.java: Implementing the disassembly mode.
|
||||
* DisassemblyManager.java: Implementing the disassembly mode.
|
||||
|
|
|
@ -58,6 +58,7 @@ import org.eclipse.cdt.debug.internal.core.sourcelookup.CSourceManager;
|
|||
import org.eclipse.cdt.debug.internal.core.sourcelookup.DisassemblyManager;
|
||||
import org.eclipse.cdt.debug.core.sourcelookup.ICSourceLocation;
|
||||
import org.eclipse.cdt.debug.core.sourcelookup.ICSourceLocator;
|
||||
import org.eclipse.cdt.debug.core.sourcelookup.ISourceMode;
|
||||
import org.eclipse.cdt.debug.internal.core.breakpoints.CBreakpoint;
|
||||
import org.eclipse.core.resources.IMarkerDelta;
|
||||
import org.eclipse.core.resources.IProject;
|
||||
|
@ -1861,4 +1862,14 @@ public class CDebugTarget extends CDebugElement
|
|||
{
|
||||
return ( getTargetType() == ICDebugTargetType.TARGET_TYPE_LOCAL_CORE_DUMP );
|
||||
}
|
||||
|
||||
protected int getRealSourceMode()
|
||||
{
|
||||
ISourceLocator sl = getSourceLocator();
|
||||
if ( sl != null && sl instanceof CSourceManager )
|
||||
{
|
||||
return ((CSourceManager)sl).getRealMode();
|
||||
}
|
||||
return ISourceMode.MODE_SOURCE;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,6 +32,7 @@ import org.eclipse.cdt.debug.core.cdi.model.ICDIObject;
|
|||
import org.eclipse.cdt.debug.core.cdi.model.ICDIStackFrame;
|
||||
import org.eclipse.cdt.debug.core.cdi.model.ICDITarget;
|
||||
import org.eclipse.cdt.debug.core.cdi.model.ICDIThread;
|
||||
import org.eclipse.cdt.debug.core.sourcelookup.ISourceMode;
|
||||
import org.eclipse.debug.core.DebugEvent;
|
||||
import org.eclipse.debug.core.DebugException;
|
||||
import org.eclipse.debug.core.model.IBreakpoint;
|
||||
|
@ -543,7 +544,14 @@ public class CThread extends CDebugElement
|
|||
return;
|
||||
try
|
||||
{
|
||||
getCDIThread().stepInto();
|
||||
if ( getRealSourceMode() == ISourceMode.MODE_SOURCE )
|
||||
{
|
||||
getCDIThread().stepInto();
|
||||
}
|
||||
else
|
||||
{
|
||||
getCDIThread().stepIntoInstruction();
|
||||
}
|
||||
}
|
||||
catch( CDIException e )
|
||||
{
|
||||
|
@ -560,7 +568,14 @@ public class CThread extends CDebugElement
|
|||
return;
|
||||
try
|
||||
{
|
||||
getCDIThread().stepOver();
|
||||
if ( getRealSourceMode() == ISourceMode.MODE_SOURCE )
|
||||
{
|
||||
getCDIThread().stepOver();
|
||||
}
|
||||
else
|
||||
{
|
||||
getCDIThread().stepOverInstruction();
|
||||
}
|
||||
}
|
||||
catch( CDIException e )
|
||||
{
|
||||
|
@ -973,4 +988,9 @@ public class CThread extends CDebugElement
|
|||
targetRequestFailed( e.getMessage(), null );
|
||||
}
|
||||
}
|
||||
|
||||
private int getRealSourceMode()
|
||||
{
|
||||
return ((CDebugTarget)getDebugTarget()).getRealSourceMode();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue