Debugger in 3.4.0
Leon Pollak
leonp at plris.com
Wed Feb 28 16:01:21 GMT 2007
On Wednesday 28 February 2007, Vladimir Prus wrote:
> Leon,
> I'm afraid that due to large email volume here, I forgot what
> are "the problems" you refer to, so cannot tell if they
> are likely to be caused by gdb 6.5. I generally suggest 6.6, but 6.5 should
> be usable too.
Thanks, Vladimir.
The most heavy problem I have is that each time I press "step" button or
debugger stops at BP I receive the error message "Debugger reported the
following error: Previous frame inner to this frame (corrupt stack?) ". Below
is the debugger window output in "Show all" mode:
---------------------------------------------------------------------------
/opt/rtems/bin/powerpc-rtems-gdb /Development/Projects/testvw/debug/./src/testvw --interpreter=mi2 -quiet<font
color="blue">(gdb) set print static-members on</font>
set print static-members on
^done
<font color="blue">(gdb) set width 0</font>
set width 0
^done
<font color="blue">(gdb) set height 0</font>
set height 0
^done
<font color="blue">(gdb) set stop-on-solib-events 1</font>
set stop-on-solib-events 1
^done
<font color="blue">(gdb) handle SIG32 pass nostop noprint</font>
handle SIG32 pass nostop noprint
Signal Stop Print Pass to program Description
SIG32 No No Yes Real-time event 32
^done
<font color="blue">(gdb) handle SIG41 pass nostop noprint</font>
handle SIG41 pass nostop noprint
Signal Stop Print Pass to program Description
SIG41 No No Yes Real-time event 41
^done
<font color="blue">(gdb) handle SIG42 pass nostop noprint</font>
handle SIG42 pass nostop noprint
Signal Stop Print Pass to program Description
SIG42 No No Yes Real-time event 42
^done
<font color="blue">(gdb) handle SIG43 pass nostop noprint</font>
handle SIG43 pass nostop noprint
Signal Stop Print Pass to program Description
SIG43 No No Yes Real-time event 43
^done
<font color="blue">(gdb) set print asm-demangle on</font>
set print asm-demangle on
^done
<font color="blue">(gdb) set output-radix 10</font>
set output-radix 10
Output radix now set to decimal 10, hex a, octal 12.
^done
<font color="blue">(gdb) cd /Development/Projects/testvw/debug/./src</font>
cd /Development/Projects/testvw/debug/./src
Working directory /Development/Projects/testvw/debug/src.
^done
<font
color="blue">(gdb) -break-insert /opt/rtems-4.7/rtems-src-4.7brunch/cpukit/libcsupport/src/open.c:103</font>
No source file
named /opt/rtems-4.7/rtems-src-4.7brunch/cpukit/libcsupport/src/open.c.
^done
<font
color="blue">(gdb) -break-insert /opt/rtems-4.7/rtems-src-4.7brunch/c/src/lib/libcpu/powerpc/mpc8260/clock/clock.c:94</font>
No source file
named /opt/rtems-4.7/rtems-src-4.7brunch/c/src/lib/libcpu/powerpc/mpc8260/clock/clock.c.
^done
<font
color="blue">(gdb) -break-insert /Development/Projects/testvw/src/testvw.cpp:19</font>
No source file named /Development/Projects/testvw/src/testvw.cpp.
^done
<font color="blue">(gdb) tty /dev/pts/12</font>
tty /dev/pts/12
^done
<font color="blue">(gdb)
source /Development/Projects/testvw/src/.gdbinit</font>
source /Development/Projects/testvw/src/.gdbinit
Setting up for Embedded Planet 8248e Motorola G2_LE chips with
IMMR=0xff000000.
The target architecture is assumed to be rs6000:rs2
The target is assumed to be big endian
_Thread_Idle_body (ignored=0x0)
at /opt/rtems/rtems-src/c/src/lib/libbsp/powerpc/FDR_8247/startup/bspstart.c:268
268 */ }
warning: no shared library support for this OS / ABI
current endian: big (unchanged)
pvr: 0x80822014
PARTNUM:$1 = 0xc10
MASKNUM:$2 = 0x0
REV_NUM:$3 = 0xe1
Testing memory (8bit): Success.
Testing memory (16bit): Success.
Endianness (32-bit BE): Success.
Loading section .text, size 0x43cb8 lma 0x10000
Loading section .gcc_except_table, size 0x230 lma 0x53cb8
Loading section .got2, size 0x4a0 lma 0x53ee8
Loading section .fixup, size 0x798 lma 0x54388
Loading section .data, size 0x1a08 lma 0x5a300
Start address 0x10000, load size 288040
Transfer rate: 119129 bits/sec, 508 bytes/write.
^done
<font
color="blue">(gdb) -break-insert /Development/Projects/testvw/src/main.cpp:179</font>
During symbol reading, Location list used without specifying the CU base
address..
^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0001043c",func="main_task",file="/Development/Projects/testvw/src/main.cpp",fullname="/Development/Projects/testvw/src/main.cpp",line="179",times="0"}
<font color="blue">(gdb) -break-condition 1 </font>
^done
<font color="blue">(gdb) -break-after 1 0</font>
^done
<font color="blue">(gdb) -break-enable 1</font>
^done
<font
color="blue">(gdb) -break-insert /Development/Projects/testvw/src/main.cpp:178</font>
^done,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x0001043c",func="main_task",file="/Development/Projects/testvw/src/main.cpp",fullname="/Development/Projects/testvw/src/main.cpp",line="178",times="0"}
<font color="blue">(gdb) -break-condition 2 </font>
^done
<font color="blue">(gdb) -break-after 2 0</font>
^done
<font color="blue">(gdb) -break-enable 2</font>
^done
<font color="blue">(gdb) -break-delete 1</font>
^done
<font color="blue">(gdb) -break-delete 2</font>
^done
<font
color="blue">(gdb) -break-insert /Development/Projects/testvw/src/main.cpp:181</font>
^done,bkpt={number="3",type="breakpoint",disp="keep",enabled="y",addr="0x0001045c",func="main_task",file="/Development/Projects/testvw/src/main.cpp",fullname="/Development/Projects/testvw/src/main.cpp",line="181",times="0"}
<font color="blue">(gdb) -break-condition 3 </font>
^done
<font color="blue">(gdb) -break-after 3 0</font>
^done
<font color="blue">(gdb) -break-enable 3</font>
^done
<font color="blue">(gdb) -exec-continue</font>
^running
Current language: auto; currently c++
*stopped,reason="breakpoint-hit",bkptno="3",thread-id="0",frame={addr="0x0001045c",func="main_task",args=[],file="/Development/Projects/testvw/src/main.cpp",fullname="/Development/Projects/testvw/src/main.cpp",line="181"}
<font color="blue">(gdb) -file-list-exec-source-file</font>
^done,line="181",file="/Development/Projects/testvw/src/main.cpp",fullname="/Development/Projects/testvw/src/main.cpp"
<font color="blue">(gdb) -break-list</font>
^done,BreakpointTable={nr_rows="1",nr_cols="6",hdr=[{width="3",alignment="-1",col_name="number",colhdr="Num"},
{width="14",alignment="-1",col_name="type",colhdr="Type"},
{width="4",alignment="-1",col_name="disp",colhdr="Disp"},
{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},
{width="10",alignment="-1",col_name="addr",colhdr="Address"},
{width="40",alignment="2",col_name="what",colhdr="What"}],body=[bkpt={number="3",type="breakpoint",disp="keep",enabled="y",addr="0x0001045c",func="main_task",file="/Development/Projects/testvw/src/main.cpp",fullname="/Development/Projects/testvw/src/main.cpp",line="181",times="1"}]}
<font color="blue">(gdb) -stack-list-arguments 0 0 0</font>
^done,stack-args=[frame={level="0",args=[]}]
<font color="blue">(gdb) -stack-list-locals 0</font>
^done,locals=[]
<font color="blue">(gdb) -thread-list-ids</font>
warning: RMT ERROR : failed to get remote thread list.
^done,thread-ids={},number-of-threads="0"
<font color="blue">(gdb) info frame</font>
info frame
Stack level 0, frame at 0x465670:
pc = 0x1045c in main_task (/Development/Projects/testvw/src/main.cpp:181);
saved pc 0x3a81c
called by frame at 0x465698
source language c++.
Arglist at 0x465638, args:
Locals at 0x465638, Previous frame's sp is 0x465670
Saved registers:
r28 at 0x465660, r29 at 0x465664, r30 at 0x465668, r31 at 0x46566c, pc at
0x465674, lr at 0x465674
^done
<font color="blue">(gdb) -stack-info-depth 6</font>
Previous frame inner to this frame (corrupt stack?)
^error,msg="Previous frame inner to this frame (corrupt stack?)"
<font color="blue">(gdb) -var-update *</font>
^done,changelist=[]
---------------------------------------------------------------------------
Plane gdb and DDD do not issue any error messages and work fine.
Any ideas how to avoid this? I am ready for tests...:-))
--
Leon
More information about the KDevelop
mailing list