2017-07-12 45 views
2

複雑なクラッシュダンプが発生しました。Visual Studio 6で(32ビット)プログラム(C++)が作成され、64ビットマシンで実行されました。だから、私は64ビットのクラッシュダンプを得た。 悲しいことに、私はVS 6にアクセスしていない(そして、私はVS6が64ビットを処理できるとは思わない)。 VS 2015はこのクラッシュダンプを開くことができません(32ビットデバッガは64ビットをデバッグできません..)ので、WinDBG(と私自身のdmpファイルビューア)で試しました。WinDBGで不完全なスタックが表示される

スタックを表示すると、システムアドレス(0x7 ..)のみが表示されます。

例:。:

. 0 Id: bdc.b40 Suspend: 0 Teb: 00000000`7efdb000 Unfrozen 
     Start: XXXX+0x4bf33d (00000000`008bf33d) 
     Priority: 2 Priority class: 128 Affinity: f 
    # Child-SP   RetAddr   Call Site 
    00 00000000`0008e2e8 00000000`73deaedc wow64win!NtUserGetMessage+0xa 
    01 00000000`0008e2f0 00000000`73e3d18f wow64win!whNtUserGetMessage+0x30 
    02 00000000`0008e350 00000000`73dc2776 wow64!Wow64SystemServiceEx+0xd7 
    03 00000000`0008ec10 00000000`73e3d286 wow64cpu!ServiceNoTurbo+0x2d 
    04 00000000`0008ecd0 00000000`73e3c69e wow64!RunCpuSimulation+0xa 
    05 00000000`0008ed20 00000000`77c7fb96 wow64!Wow64LdrpInitialize+0x42a 
    06 00000000`0008f270 00000000`77cdbd09 ntdll!LdrpInitializeProcess+0x17e3 
    07 00000000`0008f760 00000000`77c6a36e ntdll! ?? ::FNODOBFM::`string'+0x22a30 
    08 00000000`0008f7d0 00000000`00000000 ntdll!LdrInitializeThunk+0xe 

私が間違っているところ/間違っている何があり、上記のようにもエントリポイントがThreadInfoListStreamでは、ないですか

0:000> ~* 
. 0 Id: bdc.b40 Suspend: 0 Teb: 00000000`7efdb000 Unfrozen 
     Start: XXXX+0x4bf33d (00000000`008bf33d) 
     Priority: 2 Priority class: 128 Affinity: f 
[..] 

?スタック全体を表示するにはどうすればよいですか?どこにもヘルプがありますか/私自身のスタックを解く方法をガイドしています(私はロードすることができます/私はダンプに保存されたメモリにアクセスして、私はすでにTEBの主要部分をエンコードしていません。 ..)。

おかげ

答えて

3

.effmachコマンドは、アーキテクチャ間で切り替えるために使用することができます。引数としては、x86またはamd64が必要です。

wow64exts拡張子を読み込むこともできます。 2つのモードを切り替えるコマンドは!swです。

注どのようにコマンドプロンプトとk変化の出力:

0:000> k 
Child-SP   RetAddr   Call Site 
00000000`006ee8e8 00000000`60db21ef wow64cpu!CpupSyscallStub+0xc 
00000000`006ee8f0 00000000`60e5bfa1 wow64cpu!Thunk0Arg+0x5 
00000000`006ee9a0 00000000`60e4cbb0 wow64!RunCpuSimulation+0xf311 
00000000`006eea20 00007ff9`0bef2a11 wow64!Wow64LdrpInitialize+0x120 
00000000`006eecd0 00007ff9`0bf289c6 ntdll!EtwEventProviderEnabled+0x1cb1 
00000000`006ef0d0 00007ff9`0bed9fae ntdll!memset+0x1c006 
00000000`006ef150 00000000`00000000 ntdll!LdrInitializeThunk+0xe 

0:000> .load wow64exts 
0:000> !sw 
Switched to 32bit mode 

0:000:x86> k 
ChildEBP RetAddr 
007eeebc 09ad86fe win32u!NtUserWaitMessage+0xc 
WARNING: Frame IP not in any known module. Following frames may be wrong. 
007eefd8 7303eaf6 0x9ad86fe 
007eefe4 730470e9 clr!CallDescrWorkerInternal+0x34 
007ef038 73047714 clr!CallDescrWorkerWithHandler+0x6b 
007ef0a0 731dac11 clr!MethodDescCallSite::CallTargetWorker+0x16a 
007ef1cc 731dad09 clr!RunMain+0x1ad 
関連する問題