Ubuntu 20.04环境下获取QT5调试符号的方法咨询
Ubuntu 20.04环境下获取QT5调试符号的方法咨询
我在Ubuntu 20.04(Focal)环境下调试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的解决办法,我实在不想走编译QT这条复杂的路子。
我的QT5版本信息如下:
qtbase5-dev/focal-updates,focal-security,now 5.12.8+dfsg-0ubuntu2.1 amd64 [installed,automatic]qt5-default: 5.12.8+dfsg-0ubuntu2.1
备注:内容来源于stack exchange,提问作者Tyler Shellberg
相关产品推荐
相关产品推荐

