当我逐步查看lldb中的代码时,将显示源文件名:
(lldb) s
Process 23824 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = step in
frame #0: 0x00000001000073b2 clang`llvm::SmallVector<std::__1::pair<void*, unsigned long>, 0u>::SmallVector(this=0x00007ffeefbff080) at SmallVector.h:843
所以我可以看到我们在SmallVector.h的843行。
但是,我不知道此文件的完整文件路径是什么,我被迫使用Terminal的find来查找它。如果有多个同名文件,这将成为一个问题。
是否有可以更改的设置,以便lldb转储完整的文件路径?
答案 0 :(得分:1)
如果只希望一次性打印此信息,则可以使用source info
命令转储有关源文件的信息。例如:
(lldb) source info -a $pc
将把当前文件的完整路径转储到当前计算机上(除其他外)。
如果您想一直查看回溯中的完整路径,可以调整lldb设置frame-format
,该设置控制回溯中的帧打印。参见:
https://lldb.llvm.org/use/formatting.html
了解更多详情。您需要的是:
settings set frame-format frame #${frame.index}: ${frame.pc}{ ${module.file.basename}{\`${function.name}}}{ at ${line.file.fullpath}:${line.number}}\n
使用settings show frame-format
查看默认设置。