gpt4 book ai didi

linux - GDB 不会介入一个文件之外的功能

转载 作者:太空宇宙 更新时间:2023-11-04 11:28:29 26 4
gpt4 key购买 nike

我尝试使用 gdbstep 函数调试我的程序。只要函数在同一个文件中,一切都可以正常工作。

但是如果函数在外面,gdb 会跳过它。

我该如何解决?

注意:

  • 我使用 -ggdb 选项编译
  • 我正在使用 GNU gdb Red Hat Linux (6.7-1rh)
    (如果可能的话,出现在 gdb 的启动频率中)

例子:

#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 停留在当前函数内。查看 http://sourceware.org/gdb/current/onlinedocs/gdb/Continuing-and-Stepping.html#Continuing-and-Stepping 处的文档更多信息(^F 表示 nexti 或 stepi)。

关于linux - GDB 不会介入一个文件之外的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12956486/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com