1つのコアダンプ(主にgdbを使用)をデバッグしようとしていますが、これまでにわかったのは、正確に124バイトの構造があり、問題が発生していることだけです。このプログラムのすべてのソースを考えると、その構造を見つける方法はありますか?(つまり、サイズが124バイトの構造を見つける方法があります)
PS。私はこの構造の記憶の正確な場所を知っていますが、それを見てもその目的についての手がかりはありません。これも一般的な構造なので、コアダンプをいくつでも作成できます。
PS2。これまでに試しました:
- 正規表現を使用する には、見つかった各行
grep '^ *[a-zA-Z][^ ;,."()]* [a-zA-Z][^ ;,."()]*' * | grep -v 'return' | sed 's/[^:]*: *\([^ ]*\).*/\1/' | sort | uniq > tmp.txt
に追加してgdbに入力します。p sizeof(x)
- gdbで使用する
info variables
には、出力をログに記録し、変数タイプを抽出し、各タイプにsizeof(x)を追加して、gdbに出力します。
- 正規表現を使用する には、見つかった各行