このトピックについて議論している膨大な数の投稿とブログがありますが、何も機能していないようです...
インターネット全体から、ここにgdb
をインストールして実行するために必要な手順に関する一般的な合意があります。
インストールgdb
brew install gdb
Homebrewが「正常に」インストールgdb v8.1
コデザインgdb
Codesign gdb
codesigningの手順(別のSO投稿)で詳しく説明されています)。
更新~/.gdbinit
echo "set startup-with-Shell off" >> ~/.gdbinit
すべての手順を完了した後、単純な「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.
何が欠けていますか?
何時間も検索を続けた結果、最終的に obscure Gist で問題を特定し、解決策を詳述しました。
TL; DRGNUデバッガは、MacOSで動作する前にパッチを必要とします。gdb v8.0.1
は、GDB for MacOSの最後の既知の適切なバージョンです。
gdb
の最新バージョン(v8.1など)をアンインストールします
brew uninstall --force gdb
HomebrewにMacOSのパッチを適用したgdb
のバージョンをインストールするように強制します。
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/c3128a5c335bd2fa75ffba9d721e9910134e4644/Formula/gdb.rb
既存の証明書を使用して、gdb
の新規インストールにコード署名します
codesign -f -s "<GNU GDB Certificate>" $(which gdb)
これで、gdb
は期待どおりに動作します!
https://github.com/marcoparente と https://github.com/lokoum のGistコメントに感謝します!
多分少し無関係です:
Mac OSシエラ10.13.6 gdb 8.0.1
topic-starterと同じエラーが発生しました。
https://Gist.github.com/gravitylow/fb595186ce6068537a6e9da6d8b5b96d
私のシステムにはすでにgdbcert1があることがわかりました。 7.作品からすべてに従ってください!
私は昨日、gdbをMojaveで動作させました:
a)最新のgdbソースアーカイブを取得する(執筆時 ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-8.2.50.20190212.tar.xz
b)gdbをビルドします。 darwin-nat.cで変数のシャドウイングに関するエラーが発生したため、ファイルを編集して再構築しました。
c) https://forward-in-code.blogspot.com/2018/11/mojave-vs-gdb.html の手順に従います
出来上がり!
(ソース:Mac/MojaveのGDB:起動プログラムがシグナル?で終了したとき、不明なシグナル)