开发者

Compiling gdb for remote debugging

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.

  1. get gdb (7.2) sources and ext开发者_运维技巧ract them
  2. ./configure --target=arm-none-linux-gnueabi --with-expat=/usr/local/lib/
  3. make
  4. cd gdb/gdbserver
  5. ./configure --host=arm-none-linux-gnueabi
  6. make
  7. tftp gdbserver to my device
  8. 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.


(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 :

  1. this lib is optional for compiling gdb
  2. 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.


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
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜