GDB 8.2 macOS High Sierra-程序在“运行”后立即停止

时间:2018-09-23 13:21:58

标签: macos gcc gdb

我终于设法在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

有人知道发生了什么事吗?

1 个答案:

答案 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可以正常工作。