在Mac Qt C ++上的lldb

时间:2016-03-14 23:12:56

标签: c++ macos qt lldb

我正在尝试使用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命令不起作用,它不产生输出。

1 个答案:

答案 0 :(得分:2)

编译时使用-g标志。

使用此链接查找相应的lldb命令http://lldb.llvm.org/lldb-gdb.html