我无法为C ++ osx Yosemite进行调试(我尝试了不同的IDE,每个都有问题),我在google install gdb上看到了brew ......但没有。 使用NetBeans,启动调试,在控制台输出中,我得到shell gdb:
GNU gdb (GDB) 7.8.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3 +: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
--- Type <return> to continue, or q <return> to quit ---
This GDB was configured as "x86_64-apple-darwin14.0.0".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
--- Type <return> to continue, or q <return> to quit ---
For help, type "help".
Type "apropos word" to search for commands related to "word".
(gdb)
我想通过使用netbeans gui进行调试,步入,跨步等.... 这是netbeans的配置:
我还要按照以下步骤安装gdb:
http://ntraft.com/installing-gdb-on-os-x-mavericks/
由于
修改
在netbeans上调试配置:
答案 0 :(得分:5)
我遇到了同样的问题。这就是我为解决它所做的事情(在优胜美地下):
安装brew
:http://brew.sh
更新brew
。如果您已安装brew
,请检查更新。在终端:
的
$ brew update
这一步对我来说是决定性的,因为在更新之前,brew
没有找到任何gdb
包:
$ brew install gdb # Error: No available formula for gdb
之后:
$ brew update
$ brew search | grep gdb # cgdb gdb gdbm pgdbf
的
$ brew install gdb
创建证书
启动Keychain Access应用程序(
/Applications/Utilities/Keychain Access.app
)打开菜单
/Keychain Access/Certificate Assistant/Create a Certificate...
选择一个名称(示例中为
gdb-cert
),将Identity Type
设置为Self Signed Root
,将Certificate Type
设置为Code Signing
并选择{{ 1}}。在Let me override defaults
点击几次,直到转到Continue
屏幕,然后将Specify a Location For The Certificate
设置为Keychain
。如果您无法将证书存储在
System
钥匙串中,请在System
钥匙串中创建,然后将其导出。然后,您可以将其导入login
钥匙串。最后,使用证书的上下文菜单,选择
System
,打开Get Info
项,然后将Trust
设置为Code Signing
。您必须退出Keychain Access应用程序才能使用证书并通过终止当前正在运行的taskgated进程重新启动
Always Trust
服务(注释:例如使用taskgated
或重新启动)。
然后
授予gdb权限以控制其他进程
如果证书称为
sudo pkill taskgated
,请使用:gdb-cert
注释:如果找不到
$ codesign -s gdb-cert gdb
,则添加安装它的路径。就我而言:gdb
$ codesign -s gdb-cert /usr/local/Cellar/gdb/7.10/bin/gdb
字段gdb
菜单中使用/usr/local/Cellar/gdb/7.10/bin/gdb
或安装gdb的路径(例如/Netbeans/Preferences/C/C++/Build Tools
)。答案 1 :(得分:0)
您是否厌倦了协调gdb可执行文件?
Darwin内核要求调试器具有特殊权限 在允许控制其他进程之前。这些权限是 通过协调GDB可执行文件来授予。没有这些权限, 调试器将报告错误消息,例如:
Starting program: /x/y/foo Unable to find Mach task port for process-id 28885: (os/kern) failure (0x5). (please check gdb is codesigned - see taskgated(8))
代码签名需要证书。以下过程说明如何创建一个:
- 启动Keychain Access应用程序(在/ Applications / Utilities / Keychain Access.app中)
- 选择钥匙串 访问 - &gt;证书助理 - &gt;创建证书...菜单
- 然后:
- 选择新证书的名称(此过程将使用 &#34; GDB证书&#34;作为一个例子)
- 设置&#34;身份类型&#34; to&#34; Self Signed Root&#34;
- 设置&#34;证书类型&#34;到&#34;代码签名&#34;
- 激活&#34;让我覆盖默认值&#34;选项
- 点击几次&#34;继续&#34;直到&#34;指定 证书的位置&#34;屏幕出现,然后设置&#34; Keychain&#34;到&#34;系统&#34;
- 点击&#34;继续&#34;直到证书创建
- 最后,在视图中,双击新证书,然后设置&#34;使用时 这个证书&#34;到&#34;永远信任&#34;
- 退出Keychain Access应用程序并重启计算机(不幸的是需要这样做)
创建证书后,可以将调试器编码为 跟随。在终端中,运行以下命令...
codesign -f -s "gdb-cert" <gnat_install_prefix>/bin/gdb
...其中&#34; gdb-cert&#34;应该用实际的证书名称替换 选择上面,应该被替换 您安装GNAT的位置。
来源:https://gcc.gnu.org/onlinedocs/gcc-4.8.1/gnat_ugn_unw/Codesigning-the-Debugger.html