Показывать полный путь к файлу исходного файла при переходе по коду в lldb - PullRequest
0 голосов
/ 15 мая 2019

Когда я перебираю свой код в 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

Так что я вижу, что мы находимся в строке 843 на SmallVector.h.

Однако я не знаю, каков полный путь к файлу этого файла, и я вынужден использовать поиск Терминала, чтобы найти его.И это становится проблемой, если существует более одного файла с одинаковым именем.

Есть ли параметр, который я могу изменить, чтобы lldb сбросил полный путь к файлу?

1 Ответ

2 голосов
/ 15 мая 2019

Если вы хотите распечатать эту информацию только один раз, вы можете использовать команду 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, чтобы увидеть настройку по умолчанию.

...