macOS上奇怪的GDB行为

时间:2019-02-27 11:22:27

标签: c++ macos gdb

我正在尝试让gdb在macOS上工作。我按照here的说明进行操作,现在不再收到有关代码签名的错误。

但是,当我尝试使用gdb时,我始终观察到以下行为。

  1. 我使用hello.cpp编译了g++ -g -o hello hello.cpp文件
  2. 我在编译文件的目录中运行gdb
  3. 我在file hello提示符下输入(gdb)
  4. 我输入break main
  5. 我输入run

GDB现在打印出

Starting program: (CWD)/hello
[New Thread 0xXXXXX of process DDDDD]

其中

(CWD)是当前工作目录(可执行文件所在的位置)

XXXXX是一个十六进制数,并且

DDDDD是另一个数字。

从现在开始,我似乎所能做的就是杀死终端标签。 Ctrl-CCtrl-D或我输入的任何其他内容似乎都无效。

一些详细信息:

  • 我使用自制软件安装了gdb,安装的版本是8.2.1
  • 我做了echo set startup-with-shell off >> ~/.gdbinit
  • 使用内置终端或iTerm2时也会发生同样的情况
  • lldb适用于同一可执行文件

hello.cpp

#include <iostream>

int main()
{
    std::cout << "hello, world" << std::endl;

    return 0;
}

0 个答案:

没有答案