单步执行lldb中的代码时,源文件的Showv完整文件路径

时间:2019-05-15 06:46:43

标签: 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.h的843行。

但是,我不知道此文件的完整文件路径是什么,我被迫使用Terminal的find来查找它。如果有多个同名文件,这将成为一个问题。

是否有可以更改的设置,以便lldb转储完整的文件路径?

1 个答案:

答案 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查看默认设置。