c - 我有一个有很多返回点的函数。有什么方法可以让 gdb 告诉我哪一个正在返回吗?

标签 c gdb

我有一个具有荒谬数量的返回点的函数,我不想对每个返回点进行穴居人,并且我不想下一步通过该函数。有什么方法可以做类似完成的事情,除了让它在 return 语句上停止之外?

最佳答案

您可以尝试reverse debugging找出函数实际返回的位置。执行完当前帧,反向执行,然后你应该停在刚刚返回的语句处。

(gdb) fin
(gdb) reverse-step

已经有 similar question

关于c - 我有一个有很多返回点的函数。有什么方法可以让 gdb 告诉我哪一个正在返回吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4148684/

相关文章:

c++ - 如何防止编译器忽略我未显式实例化的类型?

c - 调试竞争条件时打印信息的最佳方式

C: dup 和 close-on-exec

无法获得行列式的准确结果

c - 请更正缓冲区溢出

c++ - GDB 不显示堆栈的十六进制值

c++ - 使用 if 条件隐式 bool 求值

objective-c - 如何在两个沙盒应用程序之间共享首选项文件?

c++ - C++ 中带有换行符的 printf 的奇怪行为

c++ - gdb: 在 0x2aaaaaaab000 添加的符号文件系统提供的 DSO 中找不到可加载的部分