使用gdb调试软件,如何进入所调用函数的内部(在另一个源文件内)

juzixiangchang 2008-12-17 10:04:46
只会使用b,n....
...全文
1364 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
threeleafzerg007 2008-12-17
  • 打赏
  • 举报
回复
设置 br sourcefile:function name

运行程序后 会直达某一断点, 不想调这个 就按 c (continue)

进入想要的断点 按 n 单步慢慢的调吧
joyself 2008-12-17
  • 打赏
  • 举报
回复
用断点(breakpoint)
break命令(可以简写为b)可以用来在调试的程序中设置断点,该命令有如下四种形式:
(gdb) break line-number 使程序恰好在执行给定行之前停止。
(gdb) break function-name 使程序恰好在进入指定的函数之前停止。
(gdb) break line-or-function if condition 如果condition(条件)是真,程序到达指定行或函数时停止。
(gdb) break routine-name 在指定例程的入口处设置断点

如果该程序是由很多原文件构成的,你可以在各个原文件中设置断点,而不是在当前的原文件中设置断点,其方法如下:
(gdb) break filename:line-number
(gdb) break filename:function-name

要想设置一个条件断点,可以利用break if命令,如下所示:
(gdb) break line-or-function if expr
例:
(gdb) break 46 if testsize==100

从断点继续运行:countinue 命令



http://fanqiang.chinaunix.net/program/other/2006-07-14/4834.shtml
hupo1982 2008-12-17
  • 打赏
  • 举报
回复
step就可以进去了吧
wuyu637 2008-12-17
  • 打赏
  • 举报
回复
装个ctag,不然很郁闷
juzixiangchang 2008-12-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 joyself 的回复:]
用断点(breakpoint)
break命令(可以简写为b)可以用来在调试的程序中设置断点,该命令有如下四种形式:
(gdb) break line-number 使程序恰好在执行给定行之前停止。
(gdb) break function-name 使程序恰好在进入指定的函数之前停止。
(gdb) break line-or-function if condition 如果condition(条件)是真,程序到达指定行或函数时停止。
(gdb) break routine-name 在指定例程的入口处设置断点

如果该程序是由很多原文…
[/Quote]
牛啊,但是例程那个是怎么用的呢?

23,217

社区成员

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

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