在LLDB中踏入代码时,显示源文件的完整文件路径



当我在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上的第843行。

但是,我不知道该文件的完整文件路径是什么,我被迫使用终端查找。如果有多个具有相同名称的文件,就会成为一个问题。

是否可以更改设置,以便LLDB会倾倒完整的文件路径?

如果您只想一次打印此信息,则可以使用source info命令将有关源文件的信息转储。例如:

(lldb) source info -a $pc

将在当前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查看默认设置。

最新更新