我第一次使用LLDB。我在经营MacOSX小牛。由于某些原因,我无法让LLDB打印任何代码行。相反,输出似乎是程序集指令集。我如何“修复”这个问题,这样它才能显示代码呢?
c_src> lldb a.out
当前可执行文件设置为“a.out”(x86_64)。 (lldb)断点集-n main 断点1: where = a.out main,地址= 0x0000000100000d60 (lldb)运行 进程54010启动: a.out (x86_64) 进程54010停止 *线程#1: tid = 0x202742,0x0000000100000d60 a.out
main, queue = com.apple.main-thread, stop reason = breakpoint 1.1 frame #0: 0x0000000100000d60 a.outmain a.out`main:-> 0x100000d60: pushq %rbp 0x100000d61: movq %rsp,%rbp 0x100000d64: subq $2032,%rsp0x100000d6b: movq 4766(%rip),%rax;(void *)0x00007fff72d37420:__stack_chk_guard
(lldb) s
进程54010停止*线程#1: tid = 0x202742,0x0000000100000d61 a.out
main + 1, queue = 'com.apple.main-thread, stop reason = instruction step intoframe #0: 0x0000000100000d61 a.outmain +1 a.out`main + 1: -> 0x100000d61: movq %rsp,%rbp 0x100000d64:次级q $2032,百分比rsp 0x100000d6b: movq 4766(%rip),%rax;(void *)0x00007fff72d37420:__stack_chk_guard 0x100000d72: movq ( %rax ),%rax
我试图让"s“命令显示它在代码中的位置。
发布于 2014-12-15 21:06:33
看起来您还没有使用调试信息构建您的a.out。例如,如果lldb有a.out的调试信息,它就会在报告main的断点时打印源行。
如果您正在手工构建a.out,请记住-g标志。如果您正在使用Xcode,请确保将Debug格式设置为DWARF格式。
https://stackoverflow.com/questions/27469931
复制相似问题