Linux GDB不';t在一个文件外插入函数
我尝试用Linux GDB不';t在一个文件外插入函数,linux,debugging,gdb,Linux,Debugging,Gdb,我尝试用gdb和step函数调试我的程序。 只要函数在同一个文件中,一切都可以正常工作 但是如果函数在外部,gdb将跳过它 我怎样才能解决这个问题 注: 我使用-ggdb选项编译 我正在使用GNU gdb Red Hat Linux(6.7-1rh) (如果可能的话,出现在gdb的startfrequence中) 例如: #include "foo2.h" // contains function foo2 void foo(void){ printf("hello"); } voi
gdb
和step
函数调试我的程序。
只要函数在同一个文件中,一切都可以正常工作
但是如果函数在外部,gdb将跳过它
我怎样才能解决这个问题
注:
- 我使用
选项编译-ggdb
- 我正在使用GNU gdb Red Hat Linux(6.7-1rh)
(如果可能的话,出现在gdb的startfrequence中)
#include "foo2.h" // contains function foo2
void foo(void){ printf("hello"); }
void main (void){
foo(); // debuggable -> jump into possible
foo2(); // not debuggable
}
使用gdb调试应用程序时,请使用si(stepi)而不是ni(nexti)。si将进入其他功能,ni保持在当前功能内。有关更多信息,请查看位于的文档(^F用于nexti或stepi)。您使用的是哪个版本的
gcc
编译器(当前版本为4.7)?你有什么具体的选择?您可以使用gcc-Wall-g3
,或者使用-fno-inline
您有一个非常旧版本的gdb
;最新的是7。5@BasileStarynkevitchlinux powerpc gcc版本4.2.2 gcc 4.2和gdb 6.7都是非常旧的版本。你真的应该升级你的Linux系统。请注意,内核人员、编译器人员、binutils人员、libc人员自系统安装以来(发生在几年前)取得了重大进展。