yao*_*bin 4 linux gdb shared-libraries
在我的Linux系统中,我正在编写一个程序,该程序在运行时会动态加载一些.so库。就像这样:可执行程序在开始运行时将在特定目录下搜索,然后将所有.so文件加载到该目录中。请注意,可执行文件和.so是独立构建的,并且可执行文件的构建不会链接到.so文件。
我的问题是:运行带有GDB的程序(因此,所有.so库都已加载)后,我似乎能够在.so文件中的代码上设置断点(GDB提示我该断点是在共享库中设置),但此断点实际上不会中断。
我应该如何使这些断点真正起作用? 在调试会话期间,我在正确的位置提供了所有源代码,并且-g选项已启用。编译时,我还删除了-O2优化。
检查是否已正确加载.so文件的调试信息。查看command的输出(gdb) info sharedlibrary。如果您的库在已加载的库表中显示为星号(*),则表示未加载调试符号,并且gdb无法在此.so的断点处停止。
| 归档时间: |
|
| 查看次数: |
4287 次 |
| 最近记录: |