[K42-discussion] Problem debugging linux user mode apps with K42 remote gdb
Patrick Bozeman
PEBozeman at lbl.gov
Mon Aug 28 13:39:29 EST 2006
console> file null-dup
null-dup: ELF 64-bit MSB executable, cisco 7500, version 1 (SYSV),
for GNU/Linux 2.4.19, dynamically linked (uses shared libs), not
stripped
I'll try not adding libk42sys.so.1.dbg when I get in tomorrow. And
in response to the other email, I have "single-step-mode 0" as part
of my hw-debug gdb function.
Also, I have the same problem if I break the program using the
DEBUGPROC environment variable prior to running it. The program
breaks right away, I can attach via gdb, but can't take a backtrace
(or use gdb on it in general).
On Aug 27, 2006, at 11:24 AM, Bryan S Rosenburg wrote:
>
> Patrick,
>
> My first thought was that null-dup is a 32-bit executable. That
> doesn't seem to be the case, given the way you've built it, but
> would you check? It doesn't matter whether it's 32-bit or 64-bit,
> but if it's 32-bit you should give gdb some arbitrary 64-bit
> program instead. More on that below. Also, I've never had to add
> the libk42sys.so.1.dbg symbol file. I don't know that it hurts
> anything, but you might try leaving that step out.
>
> We've never had good debugging support for actual application code,
> but there should be no problem debugging K42 library code triggered
> by the application. I assume the breakpoint you've compiled in is
> in dup2.C in kitch-linux/lib/emu? That should work just fine. Gdb
> gets confused, however, if you give it a 32-bit program and then
> try to debug 64-bit library code. So it's important to give gdb a
> 64-bit executable no matter how your actual executable is built. I
> usually say "gdb <...>/tests/linux/copy.dbg" no matter what my
> actual test program is. Then "add-symbol-file <,,,>/lib/
> exec.so.dbg". I'm not debugging the program itself anyway, so it
> doesn't matter if I have the program symbols right.
>
> Let us know whether any of that helps.
>
> - Bryan
>
>
>
>
> Patrick Bozeman <PEBozeman at lbl.gov>
> Sent by: k42-discussion-bounces+rosnbrg=us.ibm.com at ozlabs.org
> 08/25/2006 04:52 PM
> Please respond to
> Discussion about K42 <k42-discussion at ozlabs.org>
>
>
> To
> Discussion about K42 <k42-discussion at ozlabs.org>
> cc
> Subject
> [K42-discussion] Problem debugging linux user mode apps with
> K42 remote gdb
>
>
>
>
>
> I can debug native K42 apps just fine, e.g. baseServers, but am
> having a
> problem with debugging linux user mode apps. Hopefully, someone can
> point out what I am doing wrong.
>
> Thanks.
>
> #
> # I compile the app with debug support. This is a small program that
> triggers
> # a problem between dup2 and some other code I added to K42 file
> # system layers.
> #
> console> powerpc64-linux-gcc -g null-dup.c -o null-dup
>
> #
> # I run the app..
> #
> k42> /tmp/null-dup
>
> #
> # An asert I added to dup2.C gets triggered. (Note, nothing about the
> # process should be corrupt, this is just to serve as a condidtional
> # break point to kick off debugging.)
> #
> # K42 hw console output...
> #
> breakpoint pid 0x1f, progName /tmp/null-dup
> GDB got trap: Program Interrupt
> vector=0x700, sr=0x900000000002f032, pc=0x1000702e18b4
> lr=0x1000702e1880
> User program pid=31(0x1f) connecting to GDB via port 2223
>
> #
> # I attach via gdb and it complains a litte bit..
> # note that the symbol files for exec.so.dbg and libk42sys.so.1.dbg
> are
> added.
> #
> console> powerpc64-linux-gdb null-dup
> (gdb) hw-debug 10.0.0.2:2223
> The target architecture is assumed to be powerpc:a35
> add symbol table from file
> "/home/peb/src/k42-devel/k42/powerpc/partDeb/lib/exec.so.dbg" at
> add symbol table from file
> "/home/peb/src/k42-devel/k42/powerpc/partDeb/lib/libk42sys.so.
> 1.dbg" at
> <signal handler called>
> warning: Unable to find dynamic linker breakpoint function.
> GDB will be unable to debug shared library initializers
> and track explicitly loaded dynamic code.
> Current language: auto; currently c++
>
> #
> # I try to get a back trace and both gdb and the k42 hw console
> complain
> #
> (gdb) bt
> #0 <signal handler called>
> #1 0x2fa0000040be001c in ?? ()
> #2 0x2fad000040be001c in ?? ()
> Previous frame identical to this frame (corrupt stack?)
>
> #
> # hw console output as a result of the bt
> #
> /home/peb/src/k42-devel/k42/kitchsrc/os/kernel/proc/
> ProcessReplicated.C,565:
> Invalid memory access: processID 0x1f addr 0x0, type 200000 vp=0
> this=0x8002000020790a00 myRoot=0x8002000000376a00
> myRef=0x8000000010001f50
> WARNING: file
> "/home/peb/src/k42-devel/k42/kitchsrc/os/kernel/exception/
> ExceptionLocal.C",
> line 352
> User-mode bad-address fault: commID 0x1f00000000, pc 0x1000702e852c,
> addr 0, rc 8000000005cd6416.
> /home/peb/src/k42-devel/k42/kitchsrc/os/kernel/proc/
> ProcessReplicated.C,565:
> Invalid memory access: processID 0x1f addr 0x0, type 200000 vp=0
> this=0x8002000020790a00 myRoot=0x8002000000376a00
> myRef=0x8000000010001f50
> WARNING: file
> "/home/peb/src/k42-devel/k42/kitchsrc/os/kernel/exception/
> ExceptionLocal.C",
> line 352
> User-mode bad-address fault: commID 0x1f00000000, pc 0x1000702e852c,
> addr 0, rc 8000000005cd6416.
>
> _______________________________________________
> K42-discussion mailing list
> K42-discussion at ozlabs.org
> https://ozlabs.org/mailman/listinfo/k42-discussion
>
> _______________________________________________
> K42-discussion mailing list
> K42-discussion at ozlabs.org
> https://ozlabs.org/mailman/listinfo/k42-discussion
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://ozlabs.org/pipermail/k42-discussion/attachments/20060827/9b8ea76d/attachment.htm
More information about the K42-discussion
mailing list