Thanks, Tim
I found the sample and put it unchanged into my app along
with a call to 0x00000000 to produce an exception. I get
a dump all right, but when I open it in WinDBG, the
registers look wrong (eip should be 0x00000000 but instead
is pointing to somewhere in NTDLL) and WinDBG can't find
the call stack. If I run my app under WinDBG up to the
same exception and then issue the .dump command, I get
another dump which works as expected when opened in
WinDBG. I look at the two dumps with dumpchk.exe and the
results are substantially the same.
Apparently pExceptionInfo which is passed to the top level
exception handler by the OS is pointing to the wrong
information. I am perplexed. Any help would be
appreciated. Below is the output from WinDBG for the dump
from my app.
Bill
Microsoft (R) Windows Debugger Version 6.3.0005.1
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [D:\UncleNet\crash.dmp]
User Mini Dump File: Only registers, stack and portions of
memory are available
Windows 2000 Version 2195 (Service Pack 4) UP Free x86
compatible
Product: WinNt
Debug session time: Mon Dec 22 18:01:20 2003
System Uptime: not available
Process Uptime: 0 days 0:00:35.000
Symbol search path is:
SRV*f:\OSSymbols*
http://msdl.microsoft.com/download/symbols ;SRV*d:\unclenet\release
Executable search path is: d:\unclenet\release
..................................................
(834.718): Access violation - code c0000005 (!!! second
chance !!!)
eax=02520000 ebx=00000000 ecx=00000007 edx=00000000
esi=01d0ea10 edi=c0000005
eip=77f96be6 esp=01d0da5c ebp=01d0dd60 iopl=0 nv
up ei pl zr na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b
gs=0000 efl=00000246
NTDLL!ZwGetContextThread+0xb:
77f96be6 c20800 ret 0x8