当前位置:嗨网首页>书籍在线阅读

12-小结

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

15.6 小结

  • 远程(交叉)调试使你能够在进行符号调试时充分利用主机开发工作站上的资源,让它承担更多的工作,从而减轻目标板的资源负担。
  • 运行于开发主机上的交叉gdb通过gdbserver来调试目标板上的进程,运行于目标板上的gdbserver则充当了它们之间的“粘合剂”。
  • 主机上的GDB一般通过以太网(IP地址:端口号)与目标板上的gdbserver建立连接,并使用GDB远程协议连接在它们之间收发命令。
  • GDB可以在收到共享程序库事件时停住,并自动加载可用的共享程序库符号。交叉开发系统上的工具链中应该预先配置好默认的程序库路径。此外,你也可以使用GDB命令来设置共享程序库的搜索路径。
  • GDB可用于调试多个相互独立的进程,这时需要使用多个并行的GDB会话。
  • 当被调试的进程调用 fork() 系统调用创建了新的进程后,可以配置GDB调试新创建的进程。它的默认模式是调试父进程——即调用 fork() 的那个进程。
  • GDB能够很方便地调试使用POSIX线程API的多线程应用程序。目前Linux系统上默认的线程库是NPTL。
  • GDB能够附着到一个正在运行的进程上并在之后离开它。

补充阅读建议

“GDB:GNU项目调试器”,在线文档。

http://sourceware.org/gdb/onlinedocs/

GDB Pocket Reference, Arnold Robbins, O’Reilly Media,2005。