lldb:无法在Hello World示例中解析断点

时间:2015-04-15 12:44:08

标签: c++ macos lldb

我在C ++中创建了一个Hello World示例,并尝试使用来自Mac OSX终端的lldb进行调试。

> lldb a.out
Current executable set to 'a.out' (x86_64).

我可以在名称上设置断点(例如'main'),但不能在行号上设置断点。如果我试试

breakpoint set --file test.c --line 5

b test.c:5

我得到了

Breakpoint 1: no locations (pending). 
WARNING:  Unable to resolve breakpoint to any actual locations.

文件'test.c'位于当前文件夹中。出了什么问题?

1 个答案:

答案 0 :(得分:3)

根据Dwarf Debugging Information Format,行号,文件位置信息以Dwarf格式存储。这些信息是GDB用来将行号设置为断点的信息。

通常,Dwarf格式信息由编译器生成,例如带有-g选项的GCC。请尝试使用-g选项查看是否有效。

同时,还有some other debug helpful options in GCC可能对您更有帮助,例如-g3,编译器将为调试生成更多详细信息,例如宏。