编译gdb以进行远程调试

时间:2011-04-14 15:38:58

标签: debugging compilation gnu remote-debugging configure

我正在尝试远程调试在arm9上运行的应用程序

到目前为止,我已经能够在我的设备上交叉编译并执行gdbserver。

  1. 获取gdb(7.2)源并将其解压缩
  2. ./ configure --target = arm-none-linux-gnueabi --with-expat = / usr / local / lib /
  3. 制作
  4. cd gdb / gdbserver
  5. ./ configure --host = arm-none-linux-gnueabi
  6. 制作
  7. tftp gdbserver到我的设备
  8. 运行并通过gdb连接到设备
  9. gdbserver“似乎”正确启动并将自己附加到我的helloworld应用程序

    当我尝试gdb到远程服务器时,我得到了 “警告:无法解析XML目标描述;在编译时禁用了XML支持”

    显然,汇编没有考虑外籍人士。我真的不确定如何指定配置脚本的expat库路径。

2 个答案:

答案 0 :(得分:19)

(旧问题,但我通过谷歌搜索同样的问题偶然发现)

问题是缺少“ expat ”lib。这很难猜到,因为:

  1. 此lib对于编译gdb
  2. 是可选的
  3. “expat”名称与XML没有明确的联系......
  4. 所以安装“ expat-dev ”(与您的数据包管理器或任何东西),然后重新启动 ./ configure 。小心安装“dev”版本,因为我们正在进行重新编译并需要包含文件。

    要确定,可以将“ - with-expat ”添加到 ./ configure 调用中,以便在出现错误时停止没有找到外籍人士。

答案 1 :(得分:1)

无论如何它仍然有效

另外,使用

创建一个〜/ .gdbinit文件
file /home/username/path/to/exec/exec_name
set sysroot /path/to/libraries/running/on/target/device
target remote HOST:PORT
b main