有大量的帖子和博客讨论这个话题,但似乎没有什么工作......
从互联网上,以下是有关安装和运行所需程序的共识gdb
.
安装 gdb
brew install gdb
Run Code Online (Sandbox Code Playgroud)
Homebrew"成功"安装 gdb v8.1
协同设计 gdb
协同设计gdb
由以下的代码签名程序 (如在一个单独的SO后详述).
更新 ~/.gdbinit
echo "set startup-with-shell off" >> ~/.gdbinit
Run Code Online (Sandbox Code Playgroud)在完成所有步骤之后,当我尝试调试一个简单的"hello world"程序时,我得到了SIGTRAP
因抛出而导致的以下启动错误.
(gdb) start
Temporary breakpoint 1 at 0x100000e66: file test.cpp, line 5.
Starting program: /Users/zfields/Documents/Development/test/a.out
[New Thread 0x1703 of process 67971]
[New Thread 0x1903 of process 67971]
During startup program terminated with signal SIGTRAP, Trace/breakpoint trap.
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
Zak*_*Zak 12
经过几个小时的搜索,我终于找到了一个晦涩的要点,确定了问题并详细说明了解决方案.
TL; DR GNU调试器需要一个补丁才能与MacOS一起使用.gdb v8.0.1
是MacOS GDB的最后一个很好的版本.
卸载最新版本gdb
(即v8.1)
brew uninstall --force gdb
Run Code Online (Sandbox Code Playgroud)强制Homebrew安装gdb
适用于MacOS的补丁版本.
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/c3128a5c335bd2fa75ffba9d721e9910134e4644/Formula/gdb.rb
Run Code Online (Sandbox Code Playgroud)使用现有证书对新安装进行编码 gdb
codesign -f -s "<GNU GDB Certificate>" $(which gdb)
Run Code Online (Sandbox Code Playgroud)现在,gdb
按预期工作!
特别感谢https://github.com/marcoparente和https://github.com/lokoum的主要评论!
归档时间: |
|
查看次数: |
6751 次 |
最近记录: |