私が作成 (および販売) するソフトウェアは、配布する前に圧縮および暗号化されます。新しいビルドをリリースするたびに、すべての .map ファイルと生成されたバイナリ (exe を含む) を圧縮および暗号化する前に保持します。
クライアントのマシンでクラッシュすると、ミニダンプが返されます。これらのミニダンプを Visual Studio で開き、そこで調べます。
.map ファイルでアドレスを検索して、これらのミニダンプをうまく利用しました。これにより、通常、コードの正しい領域に到達し、クラッシュが発生した理由を推測して修正できますが、これには非常に時間がかかります。
ミニダンプのデバッグで元のビルドから保存したシンボルを使用できると助かります。
私の問題は、正しいシンボルが見つからないという警告が表示されることです。私の調査によると、これは、クライアントのマシン上の exe のチェックサムが、Visual Studio が構築した exe のチェックサムと一致しないためであると考えています。そして、私はその理由を理解しています。それは圧縮され、暗号化されています。もちろん、チェックサムは一致しません。
ミニダンプを手動で編集するか、保存されたバイナリのチェックサムを変更して、配布可能なファイルのチェックサムと一致させることができると思います。入ってくるすべてのダンプを変更する必要がないように、保存されたコピーを操作したいと思いますが、どちらでも構いません。
だから、私の質問は次のとおりです。これらのチェックサムを見つけて、それらを何に置き換える必要があるかを判断するにはどうすればよいですか? 補助的な質問として: より良い方法はありますか?