如何在Linux中缩短LLDB调试启动时间

问题描述

我有一个中型跨平台应用程序,我可以在2到3秒钟内开始调试,从单击“开始调试”到在ProxyPassReverse方法顶部击中一个断点。这是在Visual Studio中使用MSVC2019工具集构建的。

同一应用程序也使用clang-10在Ubuntu 20.04和MacOS下编译,并使用LLDB调试。但是,在VSCode或Qt Creator中,从单击“开始调试”到达到相同的断点大约需要15秒钟。看起来大部分时间都花在了从共享库中加载符号上。在MacOS上,尽管是使用MacBook开发的,并且没有强大的台式机cpu,但它的加载时间约为6秒,即更快。

正在使用的编译器参数:

main()

正在使用链接器参数:

clang -x c++ -std=c++17 -O0 -g -fPIC -fmessage-length=0 -fstrict-aliasing -stdlib=libc++ -isystem "/usr/lib/llvm-10/include/c++/v1/" -isystem "/usr/include" -MMD -MF $out.d -o $out -c $in

我的问题是,是否有众所周知的clang编译器/链接器标志或lldb设置组合,可以在Linux上进行开发时进行调整以缩短调试器的启动时间?

我已经在lldb初始化命令上尝试过clang -O0 -fPIC -fmessage-length=0 -fstrict-aliasing -stdlib=libc++ -g -fvisibility=hidden -pedantic-errors -fobjc-arc -z noexecstack -z relro -z Now -lc++ -lc++abi -lm -lrt -shared -Wl,-rpath,'$$ORIGIN',-z,origin -o $out @$out.rsp ,但是并没有太大帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)