摘要: 改变程序的执行——————— 一旦使用GDB挂上被调试程序,当程序运行起来后,你可以根据自己的调试思路来动态地在GDB中更改当前被调试程序的运行线路或是其变量的值,这个强大的功能能够让你更好的调试你的程序,比如,你可以在程序的一次运行中走遍程序的所有分支。 一、修改变量值 修改被调试程序运行时的变量 阅读全文
posted @ 2019-07-05 15:27 苏州小李子 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 七、设置显示选项 GDB中关于显示的选项比较多,这里我只例举大多数常用的选项。 set print address set print address on 打开地址输出,当程序显示函数信息时,GDB会显出函数的参数地址。系统默认为打开的,如: (gdb) f #0 set_quotes (lq=0 阅读全文
posted @ 2019-07-05 15:24 苏州小李子 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 查看运行时数据——————— 在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。print命令的格式是: print <expr> print /<f> <expr> <expr>是表达式,是你所调试的程序的语言的表达式(G 阅读全文
posted @ 2019-07-05 15:21 苏州小李子 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 查看栈信息————— 当程序被停住了,你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一个函数,函数的地址,函数参数,函数内的局部变量都会被压入“栈”(Stack)中。你可以用GDB命令来查看当前的栈中的信息。 下面是一些查看函数调用栈信息的GDB命令: backtrace bt 打印 阅读全文
posted @ 2019-07-05 15:20 苏州小李子 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 四、维护停止点 上面说了如何设置程序的停止点,GDB中的停止点也就是上述的三类。在GDB中,如果你觉得已定义好的停止点没有用了,你可以使用delete、clear、disable、enable这几个命令来进行维护。 clear 清除所有的已定义的停止点。 clear <function> clear 阅读全文
posted @ 2019-07-05 14:27 苏州小李子 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 在linux环境下,vim是常用的代码查看和编辑工具。在程序编译出错时,一般会提示出错的行号,但是用vim打开的代码确不显示行号,错误语句的定位非常不便。那么怎样才能让vim显示代码的行号呢? 1 临时显示行号如果只是临时显示vim的行号,只须按ESC键退出编辑内容模式,输入“:set number 阅读全文
posted @ 2019-07-05 14:13 苏州小李子 阅读(2938) 评论(0) 推荐(0) 编辑
摘要: GDB的命令概貌——————— 启动gdb后,就你被带入gdb的调试环境中,就可以使用gdb的命令开始调试程序了,gdb的命令可以使用help命令来查看,如下所示: /home/hchen> gdb GNU gdb 5.1.1 Copyright 2002 Free Software Foundat 阅读全文
posted @ 2019-07-05 13:37 苏州小李子 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 用GDB调试程序 GDB概述———— GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短” 阅读全文
posted @ 2019-07-05 13:35 苏州小李子 阅读(337) 评论(0) 推荐(0) 编辑