gdb os x sierra 10.12.3不能正常工作
这个问题已经知道,gdb不再适用于OS X Sierra。gdb os x sierra 10.12.3不能正常工作
这真的很烦人,因为我已经研究了解决方案,并且有一些解决方案,但他们显然不再工作了。我试图使用.gdbinit文件解决方案和禁用csrutil解决方案,两者都不起作用。
Sooo我的问题是:有谁知道如何解决它在10.12.3?
非常感谢!
所以感谢巴西莱Starynkevitch,谁只是给了我的想法,更新GDB
SOLUTION:
您只需更新 GDB最新的版本(这是目前7.12.1 )。假设你已经安装家酿:
这就是我所做的:
brew update
brew remove gdb
brew install gdb
现在已经更新到最新版本。
现在再次使用您以前使用过的证书对gdb进行密码校验。
sudo killall taskgated
codesign -fs gdb-certi /usr/local/bin/gdb
launchctl load /System/Library/LaunchDaemons/com.apple.taskgated.plist
最后一步是仍然使用变通方法来创建.gdbinit中:
nano ~/.gdbinit
- >set startup-with-shell off
调试现在对我的作品:)(OS X塞拉利昂10.12。 3 - gdb 7.12.1)。
UPDATE:
显然,这将解决某些问题,但不是全部问题的本身。它仍然会导致错误。老实说,我的解决方案:当你可以:切换到LLDB和另一个IDE (Netbeans不支持LLDB)。或者使用Linux。我目前在我的MacBook Pro上使用Ubuntu。
不适合我。仍然破碎 –
我发现gdb 7.12.1也不适用于我。我认为它不包括2016年11月9日提交给gdb的重要提交82b19a4d2f9c9e8d56f。 但是,我能够让gdb 8.0开发分支工作。
通过例如下载
git clone --depth 1 --branch gdb-8.0-branch git://sourceware.org/git/binutils-gdb.git
然后进入验证目录
cd binutils-gdb
我的MacPorts所以(一)要链接到MacPorts的库和(b)要避免把东西在/ usr /本地所以配置为
./configure prefix=$HOME LDFLAGS="-L/opt/local/lib" CPPFLAGS="-I/opt/local/include"
make -j8
make install
=>将gdb可执行文件放入〜/ bin; (静态)库到〜/ lib;文档到〜/份额
然后按照上述André的前端做代码签名;虽然它现在将是 codesign -fs gdb-certi〜/ bin/gdb
貌似还有没有一个解决方案。我不认为“使用LLDB代替GDB”是最终的解决方案。所以我继续构建了一个非常基本的Docker容器,它包含了非常基础的东西(g ++和gdb)。
这里是Docker Hub container,而在Dockerfile是这个Github repo。
该解决方案至少可以让您通过几个简单的命令使用GDB你的Mac上。并且,由于您正在编码的文件夹已安装,只要您点击保存,所有更改都会自动显示。
希望这可以帮助别人。
你有没有尝试编译最新[GDB](https://www.gnu.org/software/gdb/)7.12.1从源代码? –
又见http://sourceware-org.1504.n7.nabble.com/gdb-on-macOS-10-12-quot-Sierra-quot-td415708.html –
非常感谢你,你给我的想法简单更新gdb大声笑。这有帮助,然后我想出了自己! :)我会在未来的文章中为男士写一个答案。 –