2

より複雑な構造への多数のポインターを含む複雑な C 構造があります。

GDBでデバッグしながら、構造を画面/ファイルにフラット化できるようにしたいです。

確かに、私は非常に長いきれいなプリンター関数を書くことができますが、すべてのポインターは既知の型 (void ポインターなし) であり、GDB は手動で p *x を呼び出す方法を既に知っているため、これを使用してこれを達成できますか?

通常、GDB は、他のレベルに再帰的に入ることなく、構造の最初のレベルを出力します。

4

1 に答える 1

2

通常、GDBは、他のレベルに再帰的に入ることなく、構造の最初のレベルを出力します。

GDBがこれを行わなかった場合、循環リンクリストを印刷しようとするとどうなりますか?

一般に、プログラム内にプリティプリント関数を作成することは、とにかく良い考えです。非デバッグ実行可能ファイル、構造体の「ルート」がレジスターにある日が来るので、調べる必要があります。構造。

しかし、それを望まない場合は、一般的な「すべてのポインターをたどる」きれいなプリンターをPythonで簡単に作成できます。サイクルのあるグラフでそのようなプリンターを呼び出さないように注意してください。

于 2012-11-17T20:55:03.830 に答える