gdb 调试如何跳过部分代码?

laos052 2015-01-06 12:08:24
用惯了 AIX 下 dbx 调试应用程序, 里面的goto语句可以忽略很多代码直接转条到某行代码上,这样可以减少很多单元测试中的环境问题。

1 if(getuid() == XXX){
2 ....
3 }else{
4 ....
5 }
6 ...
AIX 下面 dbx goto 6 直接忽略1-5行代码,这功能很强大呀,要减少很多单元测试环境配置,同时可以专注于核心代码

问题来来, Linux gdb 好像没有这个功能,试来半天,help 列举了所有命令, jump + 5 都会执行 1-5 行代码,实在无语
真心鄙视自己或gdb

各个大侠有好的办法么?

...全文
2348 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
laos052 2015-01-13
  • 打赏
  • 举报
回复
引用 7 楼 wangzuxi 的回复:
jump 行号 就可以跳转到指定的行号开始执行了啊
可行,谢谢, csdn 的烂结帖,算分太烂了,老实不正确,Ri
zuxi 2015-01-12
  • 打赏
  • 举报
回复
jump 行号 就可以跳转到指定的行号开始执行了啊
eziowayne 2015-01-12
  • 打赏
  • 举报
回复
这就需要打断点,c一下
laos052 2015-01-12
  • 打赏
  • 举报
回复
1. 打断点,c命令,同样要执行前面的代码,也要满足断点之前的所有条件 2. go 用于回到老的bookmark 中
fly 100% 2015-01-12
  • 打赏
  • 举报
回复
go 好像可以跳转到指定行
zhxianbin 2015-01-09
  • 打赏
  • 举报
回复
打断点,continue
laos052 2015-01-09
  • 打赏
  • 举报
回复
next 执行下一步,next 5 ,重复执行 next 命令5次,无法跳过我不需要运行的代码
羽飞 2015-01-06
  • 打赏
  • 举报
回复
楼主试试next 5
“凯征调试器”版本说明 凯征调试器 0.2.0版 1. 增加“项目浏览器”功能,能显示浏览本调试器创建的项目。 2. 增加“新建空项目”功能,自动创建基础的"configure.ac","Makefile.am"和一个只包含main函数的项目C文件。 3. 增加“选择工作路径”菜单,以适应不同的Linux系统。 注意:使用项目浏览器功能,一定要把当前的工作路径设置到项目文件夹中。使用“项目”菜单中的“选择工作路径”菜单进行设置。否则会显示“未知的项目”。 凯征调试器 0.1.1版 1. 编译文件时,将make命令调整为 make -j8。 2. 修正另存文件时,覆盖同名文件无提醒的BUG。 3. 修正打开同名并已修改文件时无提醒,自动重新打开该文件,造成已修改部分丢失的BUG。 4. 增加了对GDB 8.2的支持。 凯征调试器 0.1.0版 将GtkSourceView、VTE及GDB等软件组合在一起,实现了一些基础功能。主要功能是在调试应用程序时,可以自动打开源文件并且跳到代码所在行。 注意:使用本软件的调试功能,一定要使用菜单中的“调试程序”或工具栏中的“程序”开始调试,千万不要在终端中用命令行开始,因为这样会跳过GDB调试器建立通讯这一关键步骤,也就无法实现自动打开文件并跳到代码所在行的功能了。调试进程也是如此,一定要使用菜单中的“调试进程”或工具栏中的“进程”来开始。

23,116

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧