質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
GDB

GDBはGNUソフトウェアシステムのための標準的なデバッガーです。

Q&A

解決済

1回答

1205閲覧

mac配下のgdbでrunするとNew Thread....と出て強制終了せざるを得なくなるトラブルの回避

yitz

総合スコア1

GDB

GDBはGNUソフトウェアシステムのための標準的なデバッガーです。

1グッド

0クリップ

投稿2021/05/25 04:48

編集2021/05/26 00:56

2020/12/28付けで タグ名GDBで
「(gdb)runを実行した際にNew Thread〜と表示されて、キーボードを
受け付けなくなる」
という質問をされた方がおられました。この質問に対して、

break [ソースファイル名]:[行番号] として実行してください、

という回答があり、解決済となっていますが、
先日当方でも全く同一と思われる症状が発生し、残念ながらこの方法では
効果がなかったので、新たに、質問をいたします。

当方の状況は次のとおりです。

MacBookPro Big Sur 11.4 (gdbをインストールした時は11.3.1)
gdbはHomebrewでインストール

因みに、当方ではlinux(Ubuntu 20.04 LTS) にも gdb ddd eclipseを
インストールしていて、linuxでは3者ともに全て問題なく動作しています。

gdbを起動し、ブレークポイントを設定して、runすると
[New Thread 0x2003 of process 1921]
と出て、以降ctrl+z以外、反応しなくなる

という状況です。

macの方ではコンパイル時に-g3オプションをつけると、実行形式ファイルの他に、
[実行形式ファイル名].dSYM
というデバッグ用情報を保持したファイルをもう1つ作り出すようで、
gdbを起動すると

/Users/....../.gdbinit:1: Error in sourced command file:
No symbol table is loaded. Use the "file" command.
Reading symbols from バイナリファイル名...
Reading symbols from /Users/....../バイナリファイル名.dSYM/Contents/Resources/DWARF/バイナリファイル名...
のように出力してきて、.dSYMファイルを読んでいるようです。

これを読み込むと、lコマンドでソースをプリントできるようになります。
.gdbinitはホームディレクトリ直下にあり
set startup-with-Shell off
の1行が記述されています。

linuxでは、こんなことはなく直ぐに動作しますので、
gdb共通部分での問題ではなく、mac環境特有の部分に問題があるものと思われます。

macにgdbをインストールした後、キーチェーンアクセスappで自己署名証明書を作成し、
gdb-entitlement.xml もバイナリと同じカレントディレクトリ内に作成し
codesign --entitlements gdb-entitlement.xml -fs gdb-cert $(which gdb)
で資格情報の付与とコード署名を行なっています。

これ以上の情報は、Google等で検索しても、日本語と英語の記事で合致する
ものが見つかりません。

そこで質問をさせていただきます。

当方と同じ環境で問題なく動作している方がおられましたら、何かお気づきの点、
当方と異なる動作をする点などありましたら何でも結構ですので、
ご教示いただけると幸いです。

なお、macOSの版数は、以前の版でも結構です。

よろしくお願いします。

Tteratail👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yitz

2021/05/25 09:51

linux mac でeclipseを共通デバッガにしようとしています。 従って、その基盤としてgdbを入れようとしています。 mac単独なら、lldbで良いのですが・・・・・操作を一本化したくて gdbに固執しています。
guest

回答1

0

ベストアンサー

Mac OSバージョン違い(macOS Catalina ver 10.15.7)ですが、私も同じ現象に遭遇しました。
私も色々調べ、以下のサイトを参考にして、taskgatedkillする、を実行したところ
[New Thread 0x2003 of process 1921]
のところでハングせずにデバッグできました。
https://tamakiii.hatenablog.com/entry/2020/10/29/223625

投稿2021/07/14 21:03

Tteratail

総合スコア36

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yitz

2021/08/14 02:30 編集

ご回答ありがとうございます。 ご提示頂いた手順と同等の操作は、行っていたと思いますが、当方の環境では、改善しませんでした。 OSのバージョンの関係かも知れません。 過去形で書いたのは、以下の理由によります。 本質問を投稿してから1ヶ月以上経っても、Big Surでの動作例が確認できなかったので、この環境は、全部アンインストールしたため、現時点で再度、動作確認が出来ないためです。 結局、MACのIDEは素直にXcode系を使うことにしました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問