跳转到内容

第 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函数和启动例程”