c++ - 无法在共享库中插入断点

标签 c++ gdb

friend 们

在调试该函数的应用程序时,该函数的应用程序是在另一个供应商编写的共享库中定义的。
我得到一个错误

警告:无法插入断点 0:在/opt/trims/uat/lib/libTIPS_Oleca.sl

警告:这是因为您的共享库未映射私有(private)。要附加到进程并调试其共享库,您必须准备程序
**"/opt/langtools/bin/pxdb -s on a.out 或 "chatr +dbg enable a.out".****

警告:将此添加到您的 Makefile 以进行调试构建
警告:这样每个重建的可调试 a.out 都会
警告:开启此功能。
暂时禁用共享库断点:0

现在的问题是我无法修改共享库。
如何解决此错误?
非常感谢

最佳答案

您不需要修改共享库。

相反,您必须修改您的主要可执行文件(通过运行pxdb -schatr +dbg enable 来运行它)。
a.out在您收到的消息中指的是您的主要可执行文件——这是一个 UNIX 约定,链接器的输出称为 a.out。如果您没有明确命名它。

关于c++ - 无法在共享库中插入断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2727803/

相关文章:

c++ - 我可以更改 glui 面板背景颜色吗?

c++ - 如何为 2 个项目使用 cpp 源

c++ - 如何在多个类中传递一个静态对象?

objective-c - GDB:使用地址在外部文件上插入断点

c++ - 相当于Eclipse中的toString()用于GDB调试

c++ - 仅当函数的返回值等于 "Value"时,gdb 才能有条件地非交互地中断函数吗?

c++ - 如何在 Linux 操作系统上打开 com 端口(rs422)?

c++ - 数字 3、5 和 7 未显示为质数

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

c - gdb错误: not in executable format: file not recognized