Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Language IDEs » C / C++ IDE (CDT) » GDB breakpoints and stack trace not shown in CDT
GDB breakpoints and stack trace not shown in CDT [message #967766] Fri, 02 November 2012 01:23
Chris Bruniges is currently offline Chris Bruniges
Messages: 7
Registered: April 2012
Location: Wellington, New Zealand
Junior Member
I have a fresh install with current updates Eclipse for C developers (4.2.x) and avr-eclipse (for a specific microprocessor I'm using).

I am debugging using gdb-server / avr-gdb.

I am having trouble seeing the following in the CDT debug view:
- stack trace
- variables (local or specifically added global)
- breakpoints

At first I thought it was something clobbering the stack, but I can correctly retrieve the stack from gdb console (I've noted the requests from me as opposed to what CDT does automagically. Also, some names have been altered as it's proprietary code):

(gdb) 
info stack // I typed this
113-interpreter-exec console "info stack"
~"#0  main () at ../projectMain_atmega128.c:167\n"
#0  main () at ../projectMain_atmega128.c:167
113^done


In the first case, it displays correctly in the 'debug' window.

Inserting a breakpoint (by double clicking the source) and running to it, the debugger stops correctly. Eclipse instructs GDB to insert the following (correctly):

100-break-insert foo.c:51
(gdb) 
100^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x00001a14",func="foo",file="../foo.c",fullname="/home/git/project/foo.c",line="51",times="0",original-location="foo.c:51"}
(gdb) 
101-break-insert -t main
101^done,bkpt={number="2",type="breakpoint",disp="del",enabled="y",addr="0x00004de0",func="main",file="../projectMain_atmega128.c",fullname="/home/workspace/projectDep/projectMain_atmega128.c",line="167",times="0",original-location="main"}
(gdb) 
102-exec-continue


However, the breakpoint is not displayed in the 'breakpoints' window, and the function variables are not shown in the 'Variables' window (when execution is suspended at the breakpoint). These both have no entries in them. The Debug window shows project->gdbserver (suspended)->thread [1] and stops there. It doesn't give the function name, and the associated line in foo() (where we double clicked the breakpoint) is not highlighted.

I can correctly retrieve the stack, breakpoints and variables directly from gdb using:

(gdb) 
info stack // I typed this
120-interpreter-exec console "info stack"
~"#0  foo (pUnused=0x0, psUpdate=0x800531) at ../foo.c:51\n"
#0  foo (pUnused=0x0, psUpdate=0x800531) at ../foo.c:51

// Removed by user :)

~"#15 0x000052f8 in common_ParseComms () at ../projectCommon_mod.c:18\n"
#15 0x000052f8 in common_ParseComms () at ../projectCommon_mod.c:18
~"#16 0x00004eca in main () at ../projectMain_atmega128.c:215\n"
#16 0x00004eca in main () at ../projectMain_atmega128.c:215
120^done
(gdb) 

info locals // I typed this
122-interpreter-exec console "info locals"
~"acBuf = \"\\373d7\\017\\334\\017\\000\\000\\016\\000\\000\\001\\000Z\\355\\017\\326\\017Z\\355\\000\\004[=\\017\\350\\017\\353Z\\355\\017\\350\\017\\353\\004P\\f|$\\005\\346\\004\\000\\000|\\f\\372\\017\\017\", <incomplete sequence \\373>"
acBuf = "\373d7\017\334\017\000\000\016\000\000\001\000Z\355\017\326\017Z\355\000\004[=\017\350\017\353Z\355\017\350\017\353\004P\f|$\005\346\004\000\000|\f\372\017\017", <incomplete sequence \373>~"\n"
(gdb) 
info break // I typed this
123-interpreter-exec console "info break"
~"Num     Type           Disp Enb Address    What\n"
Num     Type           Disp Enb Address    What
~"1       breakpoint     keep y   0x00001a14 in foo at ../foo.c:51\n"
1       breakpoint     keep y   0x00001a14 in foo at ../foo.c:51
~"\tbreakpoint already hit 1 time\n"
	breakpoint already hit 1 time
123^done


Seeing as GDB knows about this all correctly, I'm leaning towards the link between gdb and eclipse?

I think I have all my source files included properly, both in the main Eclipse project and according to the GDB trace, but they are spread out over multiple static library generating Eclipse projects, which adds an interesting twist. Could this explain breakpoints / variables / stack trace not showing up?

What do people recommend doing to further diagnose?

Thanks in advance,
Chris
Previous Topic:juno (Eclipse 4.2) CDT (8.1) doesn't stop on pending breakpoints, but gdb does.
Next Topic:No effect of GTEST_REPEAT in C/C++ Unit Testing Support
Goto Forum:
  


Current Time: Fri Oct 24 10:37:46 GMT 2014

Powered by FUDForum. Page generated in 0.01754 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software