diff options
author | Alain Magloire | 2003-03-16 21:49:07 +0000 |
---|---|---|
committer | Alain Magloire | 2003-03-16 21:49:07 +0000 |
commit | 14e24ea6b1759881796fd0b0eec3123852be36b2 (patch) | |
tree | 8f8af5a7731a6d96b5ea20be9026ccf99191f007 | |
parent | eab77f5a418182123cf465e800bc7d54ce27269a (diff) | |
download | org.eclipse.cdt-14e24ea6b1759881796fd0b0eec3123852be36b2.tar.gz org.eclipse.cdt-14e24ea6b1759881796fd0b0eec3123852be36b2.tar.xz org.eclipse.cdt-14e24ea6b1759881796fd0b0eec3123852be36b2.zip |
updated
-rw-r--r-- | debug/org.eclipse.cdt.debug.mi.core/ChangeLog | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog index ac2732b3251..b29ee8bf70e 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog @@ -1,3 +1,36 @@ +2003-03-16 Alain Magloire + + GDB/MI does not keep the stack level, from what we expect. In gdb, the + highest stack is level 0 and lower stack as the highest level: + -stack-list-frames + ^done,stack=[frame={level="0 ",addr="0x0804845b",func="main",file="hello.c",line="24"}, + frame={level="1 ",addr="0x42017499",func="__libc_start_main",from="/lib/i686/libc.so.6"}] + + -stack-list-frames + ^done,stack=[frame={level="0 ",addr="0x08048556",func="main2",file="hello.c",line="58"}, + frame={level="1 ",addr="0x08048501",func="main",file="hello.c",line="41"}, + frame={level="2 ",addr="0x42017499",func="__libc_start_main",from="/lib/i686/libc.so.6"}] + + This is of no use to us since the level is always "0". The level is necessary for example when + doing recursive calls to make a distinction between frames. + So in CDT this reverse the hidghest frame will have the highest number. In CDT: + stack=[frame={level="2 ",addr="0x0804845b",func="main",file="hello.c",line="24"}, + frame={level="1 ",addr="0x42017499",func="__libc_start_main",from="/lib/i686/libc.so.6"}] + + stack=[frame={level="3 ",addr="0x08048556",func="main2",file="hello.c",line="58"}, + frame={level="2 ",addr="0x08048501",func="main",file="hello.c",line="41"}, + frame={level="1 ",addr="0x42017499",func="__libc_start_main",from="/lib/i686/libc.so.6"}] + + + * src/org/eclipse/cdt/debug/mi/core/cdi/model/StackFrame.java: + Takes a new Argument in the constructor, the level. + * src/org/eclipse/cdt/debug/mi/core/cdi/model/Threawd.java: + Create the StackFrame with the constructor. + * src/org/eclipse/cdt/debug/mi/core/cdi/Location.java: + Fix equals(). + * src/org/eclipse/cdt/debug/mi/core/cdi/VariableManager.java: + Use the right level when setting the frame. + 2003-03-14 Alain Magloire * src/org/eclipse/cdt/debug/mi/core/cdi/model/Argument.java: |