私はWindowsでwindbgとmemory analizeの新機能です。 私はx64システムのメモリダンプ(クラッシュダンプ)をアナライズしようとしています。シンボル警告がある場合、windbg analyzeの結果を使用できますか?
すべてのシンボル(私とMicrosoft) をロードした後、私はこれは出力の一部です!analyze -v
を入力します。
......
FAULTING_SOURCE_CODE: <some code here>
SYMBOL_STACK_INDEX: 6
SYMBOL_NAME: rtplogic!CSRTPStack::Finalize+19d
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: RTPLogic
IMAGE_NAME: RTPLogic.dll
DEBUG_FLR_IMAGE_TIMESTAMP: 58542837
STACK_COMMAND: ~544s; .ecxr ; kb
FAILURE_BUCKET_ID: WRONG_SYMBOLS_c0000374_RTPLogic.dll!CSRTPStack::Finalize
BUCKET_ID: X64_APPLICATION_FAULT_WRONG_SYMBOLS_rtplogic!CSRTPStack::Finalize+19d
......
このWRONG_SYMBOLS
は私を心配しました。
私はFAULTING_SOURCE_CODE
のコードは、クラッシュに関連するコードであることを確認できますか?
音が聞こえます。私が理解しているように、 'gflags'はすでに実行されているプロセスのいくつかの設定を変更するツールです。しかし私の場合、メモリダンプは私のPCからではなく、私は問題のあるリモートPCに直接アクセスしていません。この機能を別の方法で有効にすることは可能ですか? Lコンパイル時のデバッグフラグのような例? –
アプリがクラッシュするPCでこの設定を有効にする必要があります。 – magicandre1981
@StepanLoginov:ヒープ上のすべての単一のintに対して、全ページヒープが8kBのメモリ(2ページ、データ用に1つのアクセス可能なページと1つのアクセスできないページでデバッガをトリガする)を割り当てることに注意してください。したがって、このアプローチでは4kBを超えるリークしか検出されません。実際の問題が発生する前にメモリ不足に悩まされているので、32ビットプログラムではほとんど機能しません。あなたの64ビットプログラムでうまくいくかもしれません。 –