エラー内容
please check gdb is codesigned - see taskgated(8)
原因
gdbにコード署名がされていない
解決手順
以下はたまたまうまくいった手順なのでもっと適切な設定があるかもしれない。
% open -a "Keychain Access.app"
キーチェーンアクセスが開く >> 証明書アシスタント >> 証明書を作成...
| 名前 : gdbcert |
| 固有名のタイプ : 自己署名ルート |
| 証明書のタイプ : コード署名 |
| デフォルトを無効化 : [x] |
>> [続ける] >> [続ける]
証明書情報
| シリアル番号 : 1 |
| 有効期間(日数) : 365 |
>> メールアドレスとかは何も入れずに [続ける] >>
鍵ペア情報
| 鍵のサイズ : 2048ビット |
| アルゴリズム : RSA |
>> [続ける]
鍵用途拡張領域
[x] 鍵用途拡張領域を含める
[x] この拡張領域は重要
[x] 許可される操作:署名
>> [続ける]
拡張鍵用途拡張領域
[x] 拡張鍵用途拡張領域を含める
[x] この拡張領域は重要
[x] 許可される操作:コード署名
>> [続ける]
基本制約拡張領域
[ ] 基本制約拡張領域を含める
>> [続ける]
サブジェクト代替名拡張領域
[x] サブジェクト代替名拡張領域を含める
[ ] この拡張領域は重要
>> [続ける]
証明書の場所を指定
| キーチェーン : システム |
>> [作成]
>> パスワード入れて[完了]
キーチェーンアクセスのウィンドウ >> 左ペインのシステム >> gdbcertをダブルクリック
| コード署名 : 常に信頼 |
# gdbに署名する
% codesign -s gdbcert /usr/local/Cellar/gdb/7.12.1/bin/gdb
# taskgatedを再起動
% sudo pkill -KILL taskgated
環境
- OS X Sierra 10.12.3
- gdb 7.12.1