在LLDB中,我经常遇到以下错误日志,同时尝试设置断点。
(lldb) break set -n main
error: unable to find CIE at 0x00000020 for cie_id = 0x00000004 for entry at 0x00000020.
error: unable to find CIE at 0x00000058 for cie_id = 0x00000004 for entry at 0x00000058.
[...]
error: unable to find CIE at 0x00000ae8 for cie_id = 0x00000004 for entry at 0x00000ae8.
Breakpoint 1: where = spec_checker`main + 16 at main.cpp:19, address = 0x00000001000025f2
(lldb)
在深入研究LLDB的代码之后,我发现CIE意味着公共信息输入并且与矮人调试格式有关。
断点似乎设置正确,但这种行为无论如何都很烦人,我想知道我能做些什么来修复它。
我使用“-g3”标志构建可执行文件以生成调试信息。这够了吗?
编辑:
我用g ++ 4.2构建c ++代码。我使用的是Mac OS X 10.9,因此可执行格式为Mach-O。