问题
I'm trying to remote debug an application running on arm9
So far I've been able to cross compile and execute gdbserver on my device.
- get gdb (7.2) sources and extract them
- ./configure --target=arm-none-linux-gnueabi --with-expat=/usr/local/lib/
- make
- cd gdb/gdbserver
- ./configure --host=arm-none-linux-gnueabi
- make
- tftp gdbserver to my device
- run and connect via gdb to the device
gdbserver "seems" to start correctly and attach itself to my helloworld application
When I try to gdb to the remote server, I get
"warning: Can not parse XML target description; XML support was disabled at compile time"
Obviously, the compilation didn't take into account expat. I'm really unsure about how to specify the expat library path to the configuration script.
回答1:
(old question but I stumbled into it via googling the same problem)
The problem is the missing "expat" lib. This is hard to guess because :
- this lib is optional for compiling gdb
- the "expat" name has no clear connection to XML...
So install "expat-dev" (with your packet manager or anything) and then relaunch ./configure. Be careful to install the "dev" version since we are doing recompilation and need the include files.
To be extra-sure, it's possible to add the "--with-expat" to the ./configure call so that it will stop with an error if expat is not found.
回答2:
Somehow it worked anyway
Also, create a file ~/.gdbinit with
file /home/username/path/to/exec/exec_name
set sysroot /path/to/libraries/running/on/target/device
target remote HOST:PORT
b main
来源:https://stackoverflow.com/questions/5665800/compiling-gdb-for-remote-debugging