我是一名嵌入式C程序员(不是C ++程序员),试图自己学习如何为生产创建更好的简单GUI。我用Google搜索了这个并且找不到答案,但可能只是错误地搜索了我的搜索。
我已经创建了一个自定义小部件,当我在调试我的应用程序时从Qt创建者访问它时,调试器确实进入了小部件的源代码。
然而,一旦进入窗口小部件的源代码,它就会疯狂地跳转,从第一行代码开始,然后在我点击F10时向上跳转到局部变量行,最后再次向下移动到代码中继续打F10。有时,某些变量显示<Optimised out>
而不是实际持有的值。
我尝试为小部件进行调试安装,但这根本没有区别。
实际上可以像这样调试小部件吗?我已经在这里花了好几个小时,并且需要想出一个更好的方法来深入了解程序在自定义小部件的某个部分崩溃的原因。
答案 0 :(得分:2)
解决了它。今天早上回到它的时候我有一点清晰。我完全忘记了必须在.pro文件中引用库。所以,即使我已将调试库复制到:
/usr/lib64/qt5/plugins/designer/libcutescreenwidgetplugin.so
问题是项目文件有:
LIBS += pathtosoucecode/build-CuteScreenWidgetPlugin-Desktop_9516b5-Release/libcutescreenwidgetplugin.so
一旦我更改了对调试库的引用,所有调试信息和单步都可以正常工作。
我现在想到也许我应该拥有:
LIBS += /usr/lib64/qt5/plugins/designer/libcutescreenwidgetplugin.so
在我的项目文件中,一旦安装了调试版本,它将自动使用它。它可能只是你在Qt这样一个复杂的系统中学习的东西时会出错的事情之一。