gdb:在';它还没有定义

gdb:在';它还没有定义,gdb,Gdb,过去的情况是,如果您试图在未定义的符号上设置断点,gdb将提供设置断点的服务,以防稍后动态加载 然而,在GDB8.3-6中,这并没有发生 (gdb) break foo Function "foo" not defined. 我的用例是,我需要调试一个JIT编译的函数,该函数将在程序本身编译后动态加载。如何在这样的函数上设置断点 这是在Fedora GNU/Linux 30上。默认情况下,当GDB找不到断点位置时,它会询问您是否应创建挂起的断点,请参阅: 查询如下所示: Make breakp

过去的情况是,如果您试图在未定义的符号上设置断点,gdb将提供设置断点的服务,以防稍后动态加载

然而,在GDB8.3-6中,这并没有发生

(gdb) break foo
Function "foo" not defined.
我的用例是,我需要调试一个JIT编译的函数,该函数将在程序本身编译后动态加载。如何在这样的函数上设置断点


这是在Fedora GNU/Linux 30上。默认情况下,当GDB找不到断点位置时,它会询问您是否应创建挂起的断点,请参阅:

查询如下所示:

Make breakpoint pending on future shared library load? (y or [n])
但是,如果您在
设置confirm off
时禁用了确认,则可能不会发生这种情况

因此,您可以使用
set confirm on
启用确认(如果以前禁用了它们),也可以始终使用
set breakpoint pending on
在无法识别的断点位置上设置挂起断点

Make breakpoint pending on future shared library load? (y or [n])