我有使用外部C ++库的Qt Quick Android应用程序。
我自己使用CMake构建此库,CMAKE_BUILD_TYPE
设置为Debug
。当我在Qt Creator调试模式下启动应用程序时,我可以在我的Qt代码中停止断点,但它不会跳转到库调用,我只看到汇编列表。
是否有可能告诉调试器库源代码在哪里,甚至可以在Android中进行调试?
答案 0 :(得分:0)
好的,这绝对是可能的。
首先,确保您确实拥有.so库中的所有调试信息:
<path-to-your-NDK>/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/arm-linux-androideabi/bin/objdump -S <your-lib-name>.so | less
您应该看到汇编程序和C ++代码的混合,这表明您的库包含调试符号。
之后确保Qt Creator能够在调试会话期间找到您的库。开始&#34;调试&#34;,然后Windows-&gt; Views-&gt;调试器日志打开gdb控制台。执行:
show solib-search-path
查看gdb尝试查找库的目录的完整列表。如果您的库尚未存在,请添加路径,例如:
set solib-search-path <old-value>:<path-to-your-library>
我知道它有点蹩脚,应该有办法实现自动化。但它对我有用。