我终于设法在macOS上运行GDB 8.2。但是现在当我尝试调试某些东西时,我得到了以下信息:
(gdb) b main
Breakpoint 1 at 0x100001e94: file project/src/main.cpp, line 34.
(gdb) run
Starting program: project/cmake-build-debug/program
[New Thread 0x1203 of process 5140]
[New Thread 0xf03 of process 5140]
[5]+ Stopped sudo gdb beast
我也尝试在CLion中使用它。在这种情况下,GDB会无限期冻结:
For help, type "help".
Type "apropos word" to search for commands related to "word".
Function "__cxx_global_var_init" not defined.
Function "__libc_csu_init" not defined.
[New Thread 0x1003 of process 4186]
[New Thread 0xf03 of process 4186]
Warning:
Cannot insert breakpoint -1.
Cannot access memory at address 0xf7ce
有人知道发生了什么事吗?
答案 0 :(得分:1)
[5] +已停止的sudo gdb野兽
这是gdb错误。造成这种情况的典型原因是,gdb在将终端赋予劣质产品后试图向stdout写入内容。我不确定该实例是否已修复,可能是由于以下原因最有可能出现此问题:
Warning: Cannot insert breakpoint -1. Cannot access memory at address 0xf7ce
...这个。这是gdb中的another bug,即它并未更新以说明High Sierra中的行业变化。该错误已修复,将在gdb 8.3中(或在8.2.1之后的发行版中以任何速率发行,无论最终给出的数字是多少)。
从git master构建gdb可以正常工作。