2

(カスタム ビルド) マイクロ スレッド ソリューションを採用する巨大なプログラムに取り組んでいます。クラッシュのデバッグが必要になることがあります。そんな時、マイクロスレッドを切り替えられると便利です。

ライブ デバッグを行っている場合は、すべてのレジスタをマイクロ スレッド コンテキストから取得したレジスタに置き換えることができます。これを行うマクロを作成しましたが、非常にうまく機能します。

問題は、(コア ファイルから) 事後デバッグを行っている場合、レジスタ値を変更できないことです。このような場合、GDB に現在のフレームの概念を変更するように指示する方法はありません。その場合、すべてのレジスタが読み取り専用と見なされるためです。

カスタム コンテキスト管理について GDB に伝える方法はありますか?

シャチャー

4

1 に答える 1

0

gdb でこれを行う簡単な組み込みの方法はありません。

おそらく最も簡単な方法は、コアファイルを読み取ることができ、マイクロスレッドを実際のスレッドとして gdb に提示するバージョンの gdbserver を作成することだと思います。すでにコア ファイルを読み取ることができる gdbserver が少なくとも 1 つ存在するため、それほど難しくはないかもしれません。でも、はっきりとは言えませんでした。

于 2013-11-18T06:33:24.327 に答える