如何在 Ubuntu 20.04 中获取 QT5 的调试符号?

如何在 Ubuntu 20.04 中获取 QT5 的调试符号?

我有来自 QT 的以下堆栈跟踪。我想获得更多详细信息,但显然我需要某种 QT5 调试符号才能看到更多信息。

然而,我还没能弄清楚怎么做。这个问题但我没有使用 Zesty,而是使用 Focal。建议的解决方案似乎在这里不再有效。

现在也没有 qt5core-dbg 或 qt5base-dbg 包。

Thread 1 (Thread 0x7ffff0b7bbc0 (LWP 31883)):
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
        set = {__val = {0 <repeats 12 times>, 228, 140737488338864, 140737488338864, 7758946189198844672}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
#1  0x00007ffff5397859 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x7fffffffc058, sa_sigaction = 0x7fffffffc058}, sa_mask = {__val = {140737488339488, 140737488339496, 140737354022076, 140737488338896, 140737354046956, 3, 140737312309764, 0, 7758946189198844672, 140737488339032, 140737322294875, 3, 140737488339032, 140737488339520, 140737312310041, 0}}, sa_flags = 1318150912, sa_restorer = 0x7ffff61a1e5b}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007ffff57ebaad in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#3  0x00007ffff5dcd7ae in QGuiApplicationPrivate::createPlatformIntegration() () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
No symbol table info available.
#4  0x00007ffff5dce708 in QGuiApplicationPrivate::createEventDispatcher() () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
No symbol table info available.
#5  0x00007ffff59f2f55 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#6  0x00007ffff5dd0543 in QGuiApplicationPrivate::init() () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
No symbol table info available.
#7  0x00007ffff640b3bd in QApplicationPrivate::init() () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
No symbol table info available.
#8  0x000055555555917f in main (argc=1, argv=0x7fffffffe718) at /mnt/c/source/myProject/main.cpp:105
        rc = 0
        a = <incomplete type>
        args = {_vptr.CLfxArgs = 0x0, m_threads = 0, m_autoFile = {static null = {<No data fields>}, d = 0x0}, m_firstFile = {static null = {<No data fields>}, d = 0x0}, m_fragDir = {static null = {<No data fields>}, d = 0x0}, m_forceFirst = false, m_materialsDir = {static null = {<No data fields>}, d = 0x0}, m_meshFile = {static null = {<No data fields>}, d = 0x0}, m_vmFile = {static null = {<No data fields>}, d = 0x0}, m_logFile = {static null = {<No data fields>}, d = 0x0}, m_lfxLog = false, m_testNum = 0, m_iterNum = 0, m_batch = false, m_noInit = false, m_qstarFile = {static null = {<No data fields>}, d = 0x0}, m_fragFuncNum = 42076, m_workingDir = {static null = {<No data fields>}, d = 0x7ffff5582510}}
        pTest = 0x0
        dAccumTime = 0
        batch = false
        szMsg = {static null = {<No data fields>}, d = 0x0}

请告诉我有没有不用编译整个 QT 的方法。我真的不能走那条路。

我的qt5版本是:

  • qtbase5-dev/focal-updates,focal-security,now 5.12.8+dfsg-0ubuntu2.1 amd64 [已安装,自动]
  • qt5-默认:5.12.8+dfsg-0ubuntu2.1

相关内容