如何利用gdb调试程序?
2015-03-14 19:08
295 查看
程序的大体意思就是各一个数组赋值,然后输出来 程序已经写在了上面,下面我们就来看一下如何产生带有调试信息的编译文件,这里我们要使用gcc的-g参数,用于在编译文件中加入一些调试信息。 发现加了-g和没有加-g,生成的文件大小不一样的!!!!你会发现,加上g后,产生的编译文件体积也会增加,所以在我们做软件开发时,加入调试信息应该在初期设计时,后期时,就应用去掉这些调试信息,当然如果想保留软件自身的调试功能,就要保留了。 下面来说一些常用的gdb调试命令 list 或是l 用于列出源程序 每打入一次list或是l将显示10行源代码,或是指定列出的行号来查看源程序 “list 行号” 使用此参数时,要确保源程序没有被移除或移动位置,否则无法查看。 break/b 设置断点,可指定断点行号,或是函数名等。 info break 显示断点信息 run 运行程序 print 查看程序运行时对应表达式的和变量的值 next 单步运行程序,但不进入函数调用 step 单步运行程序,且进行函数调用 continue 继续执行函数,直至函数结束或是下一个断点 使用gdb命令运行编译文件时,就可以看到如下信息,像其他的工具一样带有一些说明文字,包含一些版权、版本及其他说明,最后的(gdb)就是其环境提示符,类似于shell提示符,用于提醒用户,在此后面输入命令。
上面的图就是程序没有错误时执行的结果!
接下俩我把源程序中给数组赋值的一条语句改为scanf("%d",a[i]);没有加&取地址符
再次调试程序
list此时可以看附近的代码!
相关文章推荐
- 如何利用gdb调试程序之细节(info reg命令以及寄存器地址)
- 如何运用Gdb对ARM板上的程序进行远程调试
- 如何使用arm-eabi-gdb调试android c/c++程序
- 调试技巧 —— 如何利用windbg + dump + map分析程序异常
- 利用gdb在汇编指令级调试C程序
- 调试技巧 —— 如何利用windbg + dump + map分析程序异常
- 如何利用自己生成SSL证书调试程序
- 利用GDB远程调试程序
- 如何使用gdb调试程序
- 调试技巧 —— 如何利用windbg + dump + map分析程序异常
- 如何使用gdb调试程序
- 调试技巧 —— 如何利用windbg + dump + map分析程序异常
- 利用gdb调试内核程序和用户程序
- linux下如何用GDB调试c++程序
- [调试技巧] 如何利用WinDbg找出程序崩溃的位置
- 如何让程序crash时生成coredump文件并用gdb调试
- 关于利用GDB调试程序(转)
- 调试技巧 —— 如何利用windbg + dump + map分析程序异常
- 调试技巧 —— 如何利用windbg + dump + map分析程序异常
- 如何使用arm-eabi-gdb调试android c/c++程序