Java でコードを書くときは、Eclipse に組み込まれているデバッガーを使用します。このコンテキストでオブジェクトを視覚化する場合、デバッガーは toString() 関数を自動的に呼び出します。この機能は、プログラムの状態を調べながらすばやく視覚化するのに非常に便利な機能です。
現在、C で作業するときは、デバッグに emacs+gdb を使用しますが、複雑な C 構造を視覚化する (つまり、特定の印刷関数を呼び出す) ための同等の機能を見つける/再作成することができませんでした。もちろん、一般的な toString() メソッドはありませんが、とにかく、構造体の印刷関数をどこかに実装することがよくあります。
しかし、gdb で何かを視覚化したいときは、これらの印刷関数を gdb から手動で呼び出さなければならp my_print_function(my_struct_pointer)
ず、非常に非効率的です (その名前を覚えて、正しく入力する必要があり、さらに標準出力が別のウィンドウにある可能性があります...) .
私が望むのは、「構造体ポインター型Tで gdb print 関数を呼び出すときに、そのユーザー定義の印刷関数f ... を自動的に呼び出す」ように gdb を構成することです。これを行う方法はありますか?前もって感謝します。