From 14e24ea6b1759881796fd0b0eec3123852be36b2 Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Sun, 16 Mar 2003 21:49:07 +0000 Subject: [PATCH] updated --- debug/org.eclipse.cdt.debug.mi.core/ChangeLog | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) 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: