web-dev-qa-db-ja.com

MacOS 10.13.3(High Sierra)にGDBをインストールする方法

このトピックについて議論している膨大な数の投稿とブログがありますが、何も機能していないようです...

インターネット全体から、ここにgdbをインストールして実行するために必要な手順に関する一般的な合意があります。

  1. インストールgdb

    brew install gdb
    

    Homebrewが「正常に」インストールgdb v8.1

  2. コデザインgdb

    Codesign gdbcodesigningの手順(別のSO投稿)で詳しく説明されています)

  3. 更新~/.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.

何が欠けていますか?

8
Zak

何時間も検索を続けた結果、最終的に obscure Gist で問題を特定し、解決策を詳述しました。

TL; DRGNUデバッガは、MacOSで動作する前にパッチを必要とします。gdb v8.0.1は、GDB for MacOSの最後の既知の適切なバージョンです。

  1. gdbの最新バージョン(v8.1など)をアンインストールします

    brew uninstall --force gdb
    
  2. HomebrewにMacOSのパッチを適用したgdbのバージョンをインストールするように強制します。

    brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/c3128a5c335bd2fa75ffba9d721e9910134e4644/Formula/gdb.rb
    
  3. 既存の証明書を使用して、gdbの新規インストールにコード署名します

    codesign -f -s  "<GNU GDB Certificate>" $(which gdb)
    

これで、gdbは期待どおりに動作します!

https://github.com/marcoparentehttps://github.com/lokoum のGistコメントに感謝します!

13
Zak

多分少し無関係です:

Mac OSシエラ10.13.6 gdb 8.0.1

topic-starterと同じエラーが発生しました。

https://Gist.github.com/gravitylow/fb595186ce6068537a6e9da6d8b5b96d

私のシステムにはすでにgdbcert1があることがわかりました。 7.作品からすべてに従ってください!

0
Sergej Fomin

私は昨日、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:起動プログラムがシグナル?で終了したとき、不明なシグナル)

0
Joubert Nel