本文主要是介绍《软件调试的艺术》笔记--预备知识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.gcc的-g选项
如果要使用gdb进行调试,必须在编译时在gcc中加入-g选项,使用参数 -g 表示将源代码信息编译到可执行文件中。
如果不使用-g选项:
#include <stdio.h>int main(void)
{int i = 1;i = i + 1;printf("i = %d\n",i);return 0;
}
gcc main.c
gdb a.out
(gdb) b main
Breakpoint 1 at 0x4004f8
(gdb) r
Starting program: /home/yanwenjie/ctest/a.out
warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7ffff7ffa000
Breakpoint 1, 0x00000000004004f8 in main ()
(gdb) n
Single stepping until exit from function main,
which has no line number information.
i = 2
0x00007ffff7a3b76d in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
(gdb)
如果使用-g选项:
gcc -g main.c
yanwenjie@ywjpc:~/ctest$ gdb a.out
(gdb) b main
Breakpoint 1 at 0x40
这篇关于《软件调试的艺术》笔记--预备知识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!