Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

第 27 章 本阶段总结

在这一阶段我们又学习了很多新的语法规则,首先读者应该回到第 13 章 本阶段总结把那些知识点重新总结一遍。然后我们总结一下各种开发调试工具的用法。

1、gcc

2、gdb

  1. 第 10 章 gdb集中介绍了 gdb 的基本命令和调试方法。

  2. 第 1 节 “函数调用”提到了 gdb 的指令级调试和反汇编命令。

  3. 如果一个程序由多个 .c 文件编译链接而成,用 gdb 调试时如何定位某个源文件中的某一行代码呢?在第 1 节 “多目标文件的链接”有介绍。

  4. 第 6 节 “指向指针的指针与指针数组”提到了用 gdb 调试时如何给程序提供命令行参数。

3、其它开发调试工具

  1. as ,汇编器,用法详见例 18.1 “最简单的汇编程序”

  2. ld ,链接器,用法详见例 18.1 “最简单的汇编程序”,用--verbose 选项可以显示默认链接脚本,详见第 1 节 “多目标文件的链接”

  3. readelf ,读 ELF 文件信息,用法详见第 5.1 节 “目标文件”

  4. objdump ,显示目标文件中的信息,本书主要用它做反汇编,用法详见第 5.1 节 “目标文件”

  5. hexdump ,以十六进制或 ASCII 码显示一个文件,用法详见第 5.1 节 “目标文件”

  6. ar ,把目标文件打包成静态库,用法详见第 3 节 “静态库”

  7. ranlib ,给ar 打包的静态库建索引,用法详见第 3 节 “静态库”

  8. nm ,查看符号表,用法详见第 2 节 “main 函数和启动例程”