【发布时间】:2016-03-14 23:12:55
【问题描述】:
我正在尝试使用 LLDB 来调试 Qt C++ 程序。我以前从未使用过 LLDB。我遇到的第一个问题是它没有显示我正在使用的 C++ 代码 - 仅显示与 BP 和汇编代码的偏移量,例如:
(lldb) n
Process 29690 stopped
* thread #1: tid = 0x270041, 0x0000000100066cfe foo`workItem::packageDataAndTransitionToReport() + 30, queue = 'com.apple.main-thread', stop reason = instruction step over
frame #0: 0x0000000100066cfe foo`workItem::packageDataAndTransitionToReport() + 30
foo`workItem::packageDataAndTransitionToReport() + 30:
-> 0x100066cfe: movq %rcx, -0x48(%rbp)
0x100066d02: movq -0x40(%rbp), %rdx
0x100066d06: movq %rdx, -0x30(%rbp)
0x100066d0a: movq %rcx, -0x38(%rbp)
如何让它显示它停止的 C++ 行而不是汇编代码?
第二个问题是,我如何列出源代码。 gdb 中熟悉的 l 命令不起作用,它不会产生任何输出。
【问题讨论】:
-
你是用
-g编译的吗?使用此表查找等效的 lldb 命令lldb.llvm.org/lldb-gdb.html -
谢谢。就是这样。
-
哦,太好了,我会把它作为答案。请采纳