我试图使用LLDB(因为我显然不能再使用gdb)来调试我的代码的som,每次我尝试...
(lldb) breakpoint set -f file.c -l 65
我明白了......
Breakpoint 1: no locations (pending)
WARNING: Unable to resolve breakpoint to any actual locations.
我尝试过不同的事情,例如将断点分配给函数等,但我总是得到同样的错误。在那里跑步没有休息。请帮忙!
答案 0 :(得分:17)
如果out
文件没有为Code Generation Options
启用调试符号,则可能无法将断点解析为.c
源文件中的位置。
创建out
文件时启用调试信息:
$ clang -g -O0 file.c -o file
$ lldb file
(lldb) target create "file"
Current executable set to 'file' (x86_64).
(lldb) b file.c:13
Breakpoint 1: where = file`main + 29 at file.c:13, address = 0x0000000100000f4d
使用-g
选项将必要的调试信息添加到lldb
的文件中。现在应该在breakpoint set -f file.c -l n
(可以缩写为b file.c:n
)时解决。
-g
生成调试信息。请注意Clang调试信息 最适合-O0
。