我尝试使用gdb
和step
函数调试我的程序。
只要函数在同一个文件中,一切正常。
但是如果函数在外面,gdb会跳过它。
我该如何解决?
注意:
-ggdb
选项GNU gdb Red Hat Linux (6.7-1rh)
示例:
#include "foo2.h" // contains function foo2
void foo(void){ printf("hello"); }
void main (void){
foo(); // debuggable -> jump into possible
foo2(); // not debuggable
}
答案 0 :(得分:1)
使用gdb调试应用程序时,请使用si(stepi)代替ni(nexti)。 si将进入其他函数,ni保持在当前函数内。查看http://sourceware.org/gdb/current/onlinedocs/gdb/Continuing-and-Stepping.html#Continuing-and-Stepping处的文档了解更多信息(^ f代表nexti或stepi)。