0

さて、この機能が存在するかどうかわからないので、私はここで手足に出かけますが、存在しない場合は、おそらく存在するはずです。これが私が知っていることです:

コードのどこかで、データのチャンクが読み込まれます。コードのその部分を見つけようとしています。(そして、ここでは巨大なコードベースについて話しています-ほぼ300のプロジェクトで数万のファイル。コードの行を推測することさえできませんでした-ファイルあたり2000-3000は珍しいことではないので、これは本当の針です/干し草の山の領土。)このデータには特定の識別可能な文字列が含まれていることを私は知っています。メモリのチャンクがその文字列に設定されときにブレークポイントを設定できるようにしたいと思います。

私が知らないこと:

この文字列がどこに格納されているか、または格納されているかどうかさえわからないため、メモリアドレスまたは変数にブレークポイントを設定できません。私が知っているのは、少なくとも短期間(おそらく、1つの関数のスコープ、またはforループの1回の反復でさえ)、この値はどこかに存在するということです。文字列自体がコードによって無視され、付随するデータのみが保存される可能性がありますが、文字列はある時点でメモリに存在する必要があります。

通常のブレークポイントを設定することはできません。そのブレークポイントをどこに配置するかを知っていれば、必要なものはすでに揃っているので、そのような手段に頼る必要はないからです。このコードがどのプロジェクトで発生するのか、ましてやそのファイル内のどのファイルやどの関数であるのかさえわかりません。それが私が理解しようとしていることです。

これは単なる希望的観測ですか?それとも、この種のことを行う簡単な方法はありますか?

4

1 に答える 1

1

MicrosoftのProcessMonitor(以前はSysInternals)を使用して、ファイルI/Oを監視します。シンボルが正しく構成されている場合(ユーザーとMicrosoftの場合)、ProcessMonitorは各ファイルI/O操作に関連付けられたスタックトレースを表示します。

于 2012-10-02T13:06:31.467 に答える