Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [dsdp-dd-dev] Source lookup and remote debugging launch sequence

Title: Source lookup and remote debugging launch sequence
> 2. There's a file and a fullname attribute in the response for the -break-insert command, possibly useful for source lookup.
 
Daniel will correct me if I'm wrong, but the "fullname" attribute doesn't necessary mean "absolute path". It can be something like "../foo.c".
 
Regards,
Mikhail Khodjaiants
ARM Limited


From: dsdp-dd-dev-bounces@xxxxxxxxxxx [mailto:dsdp-dd-dev-bounces@xxxxxxxxxxx] On Behalf Of Tobias Södergren XT
Sent: Wednesday, February 20, 2008 12:50 PM
To: Device Debugging developer discussions
Subject: [dsdp-dd-dev] Source lookup and remote debugging launch sequence

Hi there,
I've started the investigation about breakpoints and source lookup and I have found that the command sequence
below is maybe a good approach for remote debugging. What do you think?

This is the output from a manual GDB session:
==================================
C:\dev\workspace\GDB-test>"c:\Program\CodeSourcery\SourceryG++\bin\arm-none-linux-gnueabi-gdb.exe" --interpreter=mi
~"GNU gdb (CodeSourcery Sourcery G++ Lite 2007q3-51) 6.6.50.20070821-cvs\n"
~"Copyright (C) 2007 Free Software Foundation, Inc.\n"
~"GDB is free software, covered by the GNU General Public License, and you are\n"
~"welcome to change it and/or distribute copies of it under certain conditions.\n"
~"Type \"show copying\" to see the conditions.\n"
~"There is absolutely no warranty for GDB.  Type \"show warranty\" for details.\n"
~"This GDB was configured as \"--host=i686-mingw32 --target=arm-none-linux-gnueabi\".\n"
~"For bug reporting instructions, please see:\n"
~"<https://support.codesourcery.com/GNUToolchain/>.\n"
~"\n"
(gdb)
-file-exec-and-symbols C:\\dev\\workspace\\GDB-test\\Threads
^done
(gdb)
-gdb-set sysroot C:\Program\CodeSourcery\SourceryG++\arm-none-linux-gnueabi\libc
^done
(gdb)
-target-select remote 192.168.0.10:12345
^connected,thread-id="0",frame={addr="0x400007c0",func="_start",args=[],from="C:\\Program\\CodeSourcery\\SourceryG++\\arm-none-linux-gnueabi\\libc/lib/ld-linux.so.3"}

(gdb)
-break-insert C:\dev\workspace\GDB-test\Threads.cpp:24
^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x00008a84",func="printMsg(void*)",file="Threads.cpp",fullname="C:\\dev\\workspace\\GDB-test/Threads.cpp",line="24",times="0"}

(gdb)
==================================

Notice the number of backslashes needed to get things to work for "-file-exec-and-symbols" command.

What I think is important regarding breakpoints:
  1. It looks loke the gdb MI interface for CodeSourcery accepts inserting breakpoints using backslash
  2. There's a file and a fullname attribute in the response for the -break-insert command, possibly useful for source lookup.

I'll go on debugging the eclipse frameworks to see where the breakpoint insertion fails in the code, but first patching the current launch to something like above.

Cheers,
Tobias

--

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium.  Thank you.


Back to the top