blob: b8e21a6ef98d8dd6dcfb6cb5be2dceeb85bf65d4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
/*
*(c) Copyright QNX Software Systems Ltd. 2002.
* All Rights Reserved.
*
*/
package org.eclipse.cdt.debug.mi.core.command;
import org.eclipse.cdt.debug.mi.core.MIException;
import org.eclipse.cdt.debug.mi.core.output.MIInfo;
import org.eclipse.cdt.debug.mi.core.output.MIOutput;
import org.eclipse.cdt.debug.mi.core.output.MIStackListFramesInfo;
/**
*
* -stack-list-frames [ LOW-FRAME HIGH-FRAME ]
*
* List the frames currently on the stack. For each frame it displays
* the following info:
*
* `LEVEL'
* The frame number, 0 being the topmost frame, i.e. the innermost
* function.
*
* `ADDR'
* The `$pc' value for that frame.
*
* `FUNC'
* Function name.
*
* `FILE'
* File name of the source file where the function lives.
*
* `LINE'
* Line number corresponding to the `$pc'.
*
* If invoked without arguments, this command prints a backtrace for the
* whole stack. If given two integer arguments, it shows the frames whose
* levels are between the two arguments (inclusive). If the two arguments
* are equal, it shows the single frame at the corresponding level.
*
*/
public class MIStackListFrames extends MICommand
{
public MIStackListFrames() {
super("-stack-list-frames"); //$NON-NLS-1$
}
public MIStackListFrames(int low, int high) {
super("-stack-list-frames", new String[]{Integer.toString(low), //$NON-NLS-1$
Integer.toString(high)});
}
public MIStackListFramesInfo getMIStackListFramesInfo() throws MIException {
return (MIStackListFramesInfo)getMIInfo();
}
public MIInfo getMIInfo() throws MIException {
MIInfo info = null;
MIOutput out = getMIOutput();
if (out != null) {
info = new MIStackListFramesInfo(out);
if (info.isError()) {
throwMIException(info, out);
}
}
return info;
}
}
|