C++ 在c++;与QtCreator一起

C++ 在c++;与QtCreator一起,c++,dll,qt-creator,dynamic-library,C++,Dll,Qt Creator,Dynamic Library,我正在构建一个应用程序,在linux上使用qtcreator动态加载共享库插件 插件构建在单独的文件夹中,然后复制到主应用程序插件文件夹。应用程序在启动时查找插件并加载它们 插件和可执行文件都构建在单独的CMake项目中(在调试配置中),这些项目加载到我的qtcreator会话中 调试器似乎无法将库与源代码文件链接。这有两个效果 *我在插件文件上设置的断点被忽略 *如果我在插件代码中放置了一个“代码断点”(即asm int 3),调试器将显示dissasembly(而不是源代码) 如何告诉调试器

我正在构建一个应用程序,在linux上使用qtcreator动态加载共享库插件

插件构建在单独的文件夹中,然后复制到主应用程序插件文件夹。应用程序在启动时查找插件并加载它们

插件和可执行文件都构建在单独的CMake项目中(在调试配置中),这些项目加载到我的qtcreator会话中

调试器似乎无法将库与源代码文件链接。这有两个效果 *我在插件文件上设置的断点被忽略 *如果我在插件代码中放置了一个“代码断点”(即
asm int 3
),调试器将显示dissasembly(而不是源代码)


如何告诉调试器查找正确的源文件

您可以根据函数名等在库中设置断点。要查看断点的源代码,必须使用调试符号(例如qmake CONFIG+=debug)编译库,并且编译后不能移动源代码。我相信打破文件和行号也需要来源。
如果您仍然遇到问题,我会尝试将源目录添加到INCLUDEPATH,或者在运行时在QtCreator中加载这两个项目。

我认为您无法完成预期的操作(库源文件中的“断点”被预编译库命中)。如果您想调试库,您应该运行库项目-也许可以用qt编写一些单元测试?否则,您可以向库源添加一些详细/打印。。。