如何debug跟踪程序的执行流程?

时间:2022-08-21 17:05:57
我有一套源码 但是流程比较复杂 所以想debug调试一下 跟踪函数的执行流程
我该如何做呢?
请高手指点一哈

12 个解决方案

#1


从main()函数开始看。
如果是VC的话,
然后看见不明白的东西就F12。

也可以在你关心的地方打断点。
然后看调用栈。

#2


不好意思 没有说清楚环境 我的是linux c vim编译环境

#3


引用 2 楼 eclipse_2 的回复:
不好意思 没有说清楚环境 我的是linux c vim编译环境


是一个交互式的软件
需要在命令行中输入命令 后台执行的那种

#4


引用 1 楼 freezezdj 的回复:
从main()函数开始看。
如果是VC的话,
然后看见不明白的东西就F12。

也可以在你关心的地方打断点。
然后看调用栈。


谢谢你的回复 不好意思 我之前没有说清楚环境 呵呵

#5


那就用那个传说的ctag吧。

#6


引用 5 楼 freezezdj 的回复:
那就用那个传说的ctag吧。


ctags 用来阅读代码挺好的 
现在是代码过于复杂 分支太多了 无法跟踪下去 
我就想如何能debug一下最好了 可以很快的跟踪流程出来

#7


看你gdb的功力了。

如果找个IDE,比如eclipse+cdt

#8


引用 7 楼 freezezdj 的回复:
看你gdb的功力了。

如果找个IDE,比如eclipse+cdt

呵呵 很明显 比较弱了 
只有字符界面

#9


不管怎么说,学习一下总不是坏事,谢谢楼主分享

不管怎么说,学习一下总不是坏事,谢谢楼主分享

#10


要用debug至少你要对原代码有一定的了解才行的

#11


设置断点的技巧+最基本的gdb使用+足够的耐心。没别的方法。
侯捷老师写过一篇《源码追踪经验谈》,你应该看看。

#12


引用 11 楼 r3000 的回复:
设置断点的技巧+最基本的gdb使用+足够的耐心。没别的方法。
侯捷老师写过一篇《源码追踪经验谈》,你应该看看。


恩 google了一下 发现大部分都是繁体的 
你有简体版的吗?可以发给我一下吗?
kangs.uestc@gmail.com 非常感谢了 如何debug跟踪程序的执行流程?

#1


从main()函数开始看。
如果是VC的话,
然后看见不明白的东西就F12。

也可以在你关心的地方打断点。
然后看调用栈。

#2


不好意思 没有说清楚环境 我的是linux c vim编译环境

#3


引用 2 楼 eclipse_2 的回复:
不好意思 没有说清楚环境 我的是linux c vim编译环境


是一个交互式的软件
需要在命令行中输入命令 后台执行的那种

#4


引用 1 楼 freezezdj 的回复:
从main()函数开始看。
如果是VC的话,
然后看见不明白的东西就F12。

也可以在你关心的地方打断点。
然后看调用栈。


谢谢你的回复 不好意思 我之前没有说清楚环境 呵呵

#5


那就用那个传说的ctag吧。

#6


引用 5 楼 freezezdj 的回复:
那就用那个传说的ctag吧。


ctags 用来阅读代码挺好的 
现在是代码过于复杂 分支太多了 无法跟踪下去 
我就想如何能debug一下最好了 可以很快的跟踪流程出来

#7


看你gdb的功力了。

如果找个IDE,比如eclipse+cdt

#8


引用 7 楼 freezezdj 的回复:
看你gdb的功力了。

如果找个IDE,比如eclipse+cdt

呵呵 很明显 比较弱了 
只有字符界面

#9


不管怎么说,学习一下总不是坏事,谢谢楼主分享

不管怎么说,学习一下总不是坏事,谢谢楼主分享

#10


要用debug至少你要对原代码有一定的了解才行的

#11


设置断点的技巧+最基本的gdb使用+足够的耐心。没别的方法。
侯捷老师写过一篇《源码追踪经验谈》,你应该看看。

#12


引用 11 楼 r3000 的回复:
设置断点的技巧+最基本的gdb使用+足够的耐心。没别的方法。
侯捷老师写过一篇《源码追踪经验谈》,你应该看看。


恩 google了一下 发现大部分都是繁体的 
你有简体版的吗?可以发给我一下吗?
kangs.uestc@gmail.com 非常感谢了 如何debug跟踪程序的执行流程?