CSCW2-Newly To Assembly

gdb&&ddd

使用GDB

一般来说GDB主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,我们必须要把调试信息加到可执行文件中。使用编译器(cc/gcc/g++)的 -g 参数可以做到这一点。如:

$gcc -g -Wall hello.c -o hello
$g++ -g -Wall hello.cpp -o hello

常用命令

  • gdb //启动gdb
  • break /break //设置断点
  • continue //恢复程序的运行直到程序结束,或下一个断点到来。
  • step //单步跟踪,如果有函数调用,他会进入该函数。
  • next
  • stepi 或 si
  • nexti 或 ni
  • ........

ref:
http://wiki.ubuntu.org.cn/%E7%94%A8GDB%E8%B0%83%E8%AF%95%E7%A8%8B%E5%BA%8F
http://wiki.ubuntu.org.cn/index.php?title=Insight%E7%9A%84%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95%EF%BC%88gdb%E7%9A%84%E6%9C%80%E4%BC%98%E5%89%8D%E7%AB%AF%EF%BC%89&variant=zh-hans

(objdump)