1
0
Fork 0
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:
Mikhail Khodjaiants 2002-10-10 16:51:28 +00:00
parent e01a121c1c
commit fd956221a4
3 changed files with 37 additions and 2 deletions

View file

@ -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.

View file

@ -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;
}
}

View file

@ -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();
}
}