1.写程序
首先,我们先写出一个 .c 或者.cpp程序
如 然后 gcc -g hello.c -o hello
或者 g++ -g hello.cpp -o hello (-g)要加
2. gdb调试
用 gdb +(可执行程序,如hello)
进入之后,有以下命令,r l b n (运行,查看,断点,逐语句向下)
info b 查看所有 断点情况
3.print &step 的应用,p s
首先,print / p 可以打印 比如arr[0] 输出1;
step/ s 可以步入到函数内 ,到调用函数的时候 s 可以直接进去
4.gdb可以通过shell 来写终端命令
例如 shell ls
5. 可以通过日志来copy 调试的命令
set logging on
6. watch * +(比如i地址)
可以实时跟踪 i 变量的变化
info watch
7.如何调试一个 core 文件 (即断掉的程序)
首先 比如 int *temp =NULL; *temp=10 ,这肯定发生错误了 ,然后,就是会生成一个文件 core. 1897
然后执行命令 gdb errtest(.o 可执行文件) core.1897
这样会显示出这个文件的错误
8.调试一个正在运行的程序
2.首先,写一个执行中的程序,比如死循环 fortest,并把它编译后台运行 gcc .o & 然后,会有 一个 进程的id 号
gdb -p ID 就可以进行调试了