gpt4 book ai didi

debugging - 如何在尚未加载到 gdb 的共享库中的函数上设置断点

转载 作者:行者123 更新时间:2023-12-03 21:24:41 26 4
gpt4 key购买 nike

我有一个共享库 libtest.so它将使用 dlopen 加载到主程序中.功能 test()居住在 libtest.so将在主程序中通过dlsym调用.有什么方法可以在 test 上设置断点吗? ?

请注意,主程序尚未链接到 libtest.so在链接时间。否则,我应该能够设置断点,尽管它是一个待处理的操作。就我而言,当我做 b test ,gdb 会告诉我Function "test" not defined .

最佳答案

实际上 gdb 应该告诉您它能够在将来加载新库时解析符号:

(gdb) b test
Function "test" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (test) pending.
(gdb) r

稍后一旦加载 .so 对象,它将解析断点,例如:
Reading symbols for shared libraries . done
Breakpoint 1 at 0xcafebebe
Pending breakpoint 1 - "test" resolved

关于debugging - 如何在尚未加载到 gdb 的共享库中的函数上设置断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2642983/

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