gpt4 book ai didi

c++ - 如何在Linux的QTCreator中用dlopen打开的共享库中设置断点

转载 作者:行者123 更新时间:2023-12-04 14:22:49 31 4
gpt4 key购买 nike

我正在尝试使用 QTCreator 调试我正在使用 dlopen 和 dlsym 调用的共享库。
QT 调试器不会在共享库中的断点处停止。

当我使用 GDB 运行我的应用程序时,它可以正常工作。

SO 有调试符号。

如何让 QTCreator 调试我的应用程序?

谢谢。

更新:

我用我的项目的完整路径创建了一个 gdb 启动脚本,现在它可以工作了。
问题是,我不希望这个脚本为每个使用 QT 的项目运行。

每个项目都可以这样做吗?

最佳答案

看起来 GDB 无法找到您的 .so 文件。您应该检查 this post查看共享库是否可以在您的 solib-search-path 中找到.如果不是,您应该使用以下内容扩展 Tools/Options/Debugger/GDB 中的“Additional Startup Commands”字段:

set solib-search-path %{CurrentProject:BuildPath}/<relative path to the folder where the .so file was built>
在我的情况下,在 Android 下工作,我设置了 set solib-search-path %{CurrentProject:BuildPath}/android-build/libs/armeabi-v7a现在,如果在共享库代码中设置断点就可以工作。
@ChrisF:试图标记 Debugging a dynamically-loaded library in c++ with QtCreator作为这个问题的重复,但我必须等待有一个赞成(stackoverflow 不会让我标记重复,因为“这个问题没有赞成或接受的答案”......”

关于c++ - 如何在Linux的QTCreator中用dlopen打开的共享库中设置断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20343949/

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