1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-07 01:36:01 +02:00

2004-11-19 Alain Magloire

Clear the confusion about sublist of stackframes.
	PR 78611

	* cdi/org/eclipse/cdt/debug/core/cdi/model/ICDIStackFrame.java
	* cdi/org/eclipse/cdt/debug/core/cdi/model/ICDIThread.java
	* src/org/eclipse/cdt/debug/internal/model/CThread.java
This commit is contained in:
Alain Magloire 2004-11-18 16:06:57 +00:00
parent deabf0e68b
commit 1cc0b27515
4 changed files with 17 additions and 5 deletions

View file

@ -1,3 +1,12 @@
2004-11-19 Alain Magloire
Clear the confusion about sublist of stackframes.
PR 78611
* cdi/org/eclipse/cdt/debug/core/cdi/model/ICDIStackFrame.java
* cdi/org/eclipse/cdt/debug/core/cdi/model/ICDIThread.java
* src/org/eclipse/cdt/debug/internal/model/CThread.java
2004-11-17 David Inglis 2004-11-17 David Inglis
Change debug target to use IBinaryObject instead of IBinaryExecutable Change debug target to use IBinaryObject instead of IBinaryExecutable

View file

@ -58,7 +58,7 @@ public interface ICDIStackFrame extends ICDIExecuteStepReturn, ICDIObject {
ICDIThread getThread(); ICDIThread getThread();
/** /**
* Returns the level of the stack frame. * Returns the level of the stack frame, 1 based.
* *
* @return the level of the stack frame * @return the level of the stack frame
*/ */

View file

@ -36,16 +36,19 @@ public interface ICDIThread extends ICDIExecuteStep, ICDIExecuteResume, ICDISusp
ICDIStackFrame[] getStackFrames() throws CDIException; ICDIStackFrame[] getStackFrames() throws CDIException;
/** /**
* Returns the stack frames contained in this thread whose levels * Returns the stack frames contained in this thread between the specified
* are between the two arguments(inclusive). * <tt>fromIndex</tt>, inclusive, and <tt>toIndex</tt>, exclusive.
* An empty collection is returned if this thread contains * An empty collection is returned if this thread contains
* no stack frames, or is not currently suspended. Stack frames * no stack frames, or is not currently suspended. Stack frames
* are returned in top down order. * are returned in top down order.
* *
* @return a collection of stack frames * @return a collection of stack frames
* @throws CDIException if this method fails. Reasons include: * @throws CDIException if this method fails. Reasons include:
* @throws IndexOutOfBoundsException for an illegal endpoint index value
* (fromIndex &lt; 0 || toIndex &gt; size || fromIndex &gt; toIndex).
*/ */
ICDIStackFrame[] getStackFrames(int lowFrame, int highFrame) throws CDIException; ICDIStackFrame[] getStackFrames(int fromIndex, int len) throws CDIException;
/** /**
* Returns the depth of the stack frames. * Returns the depth of the stack frames.

View file

@ -154,7 +154,7 @@ public class CThread extends CDebugElement implements ICThread, IRestart, IResum
} }
} }
int depth = getStackDepth(); int depth = getStackDepth();
ICDIStackFrame[] frames = (depth != 0) ? getCDIStackFrames( 0, (depth > getMaxStackDepth()) ? getMaxStackDepth() - 1 : depth - 1 ) : new ICDIStackFrame[0]; ICDIStackFrame[] frames = (depth != 0) ? getCDIStackFrames( 0, (depth > getMaxStackDepth()) ? getMaxStackDepth() : depth ) : new ICDIStackFrame[0];
if ( fStackFrames.isEmpty() ) { if ( fStackFrames.isEmpty() ) {
addStackFrames( frames, 0, frames.length ); addStackFrames( frames, 0, frames.length );
} }