Compiling gdb for remote debugging

给你一囗甜甜゛ 提交于 2019-12-12 07:56:53

问题


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 extract 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.


回答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 :

  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.




回答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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!