问题为Qt应用程序查找调试符号

时间:2019-03-26 10:19:17

标签: qt debugging cmake gdb qt-creator

我正在远程无头RHEL7.2 VM上运行Qt creator 4.7.1,我使用Windows上的mobaXterm的Xserver连接到该端口,并在VM中导出DISPLAY。 IDE可以正常启动(与其他任何xclient一样),但是当我尝试调试当前崩溃的应用程序时,它不会加载调试符号。这是堆栈跟踪:

1  ??                                                                                                                            0x7fffe79cd481 
2  ??                                                                                                                            0x7fffe79b41fc 
3  QXcbConnection::initializeScreens()                                                                                           0x7fffe79cffef 
4  QXcbConnection::QXcbConnection(QXcbNativeInterface *, bool, unsigned int, const char *)                                       0x7fffe79a3978 
5  QXcbIntegration::QXcbIntegration(QStringList const&, int&, char * *)                                                          0x7fffe79a7dbc 
6  ??                                                                                                                            0x7ffff7f51c3d 
7  QPlatformIntegrationFactory::create(QString const&, QStringList const&, int&, char * *, QString const&)                       0x7ffff54e7acd 
8  QGuiApplicationPrivate::createPlatformIntegration()                                                                           0x7ffff54f4ec0 
9  QGuiApplicationPrivate::createEventDispatcher()                                                                               0x7ffff54f5f7d 
10 QCoreApplicationPrivate::init()                                                                                               0x7ffff50d84a9 
11 QGuiApplicationPrivate::init()                                                                                                0x7ffff54f778c 
12 QApplicationPrivate::init()                                                                                                   0x7ffff5b55579 
13 MyApplication::MyApplication                                                                             myapplication.cpp 35 0x7ffff70ee1a2 
14 main                                                                                                    main.cpp           21 0x4407e1       

仅可访问框架13和14,其他框架则显示为灰色。我已经使用debuginfo-install qt安装了所有与调试相关的程序包,并且与sqlite-debuginfo这样的辅助程序包一起也安装了qt-debuginfo

IDE中的调试消息如下:

09:48:58: Debugging starts
QML debugging is enabled. Only use this in a safe environment.
QFactoryLoader::QFactoryLoader() checking directory path "/path/to/my/src" ...
QFactoryLoader::QFactoryLoader() looking at "/path/to/my/src/libqeglfs.so"
Found metadata in lib /path/to/my/src/libqeglfs.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "eglfs"
        ]
    },
    "className": "QEglFSIntegrationPlugin",
    "debug": false,
    "version": 329472
}
Got keys from plugin meta data ("eglfs")

然后继续加载linuxfbminimalminimalegloffscreenvncwebglxcb。但是,它可能无法正确加载xcb,就像

一样
Got keys from plugin meta data ("xcb")
loaded library "/path/to/my/src/libqxcb.so"
RTTI symbol not found for class 'QApplication'
RTTI symbol not found for class 'QApplication'
RTTI symbol not found for class 'QApplication'
...

我相信我拥有所有相关的软件包,即libxcb-debuginfoxcb-util-debuginfoxcb-util-image-debuginfoxcb-util-keysyms-debuginfoxcb-util-renderutil-debuginfo,但也许我错过了一些东西吗? / p>

0 个答案:

没有答案