FAULTING_IP:
KERNELBASE!RaiseException+39
000007fe`fd539e5d 4881c4c8000000 add rsp,0C8h
EXCEPTION_RECORD: ffffffffffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 000007fefd539e5d (KERNELBASE!RaiseException+0x0000000000000039)(win7下,当为server2008r2时 是0x3d)
ExceptionCode: e06d7363 (C++ EH exception)
ExceptionFlags: 00000001
NumberParameters: 4
Parameter[0]: 0000000019930520
Parameter[1]: 000000000019fc28
Parameter[2]: 000000013f028600
Parameter[3]: 000000013f020000
DEFAULT_BUCKET_ID: APPLICATION_FAULT
PROCESS_NAME: TestThrow.exe
ERROR_CODE: (NTSTATUS) 0xe06d7363 - <Unable to get error code text>
EXCEPTION_CODE: (NTSTATUS) 0xe06d7363 - <Unable to get error code text>
EXCEPTION_PARAMETER1: 0000000019930520
EXCEPTION_PARAMETER2: 000000000019fc28
EXCEPTION_PARAMETER3: 000000013f028600
EXCEPTION_PARAMETER4: 13f020000
MOD_LIST: <ANALYSIS/>
FAULTING_THREAD: 0000000000001a30
PRIMARY_PROBLEM_CLASS: APPLICATION_FAULT
BUGCHECK_STR: APPLICATION_FAULT_APPLICATION_FAULT
LAST_CONTROL_TRANSFER: from 000000005d080fb2 to 000007fefd539e5d
STACK_TEXT:
00000000`0019faa0 00000000`5d080fb2 : 00000000`00000000 00000000`0019fb90 ffffffff`00000001 00000001`3f0200f8 : KERNELBASE!RaiseException+0x39(同上)
00000000`0019fb70 00000001`3f02109d : 00000000`0019fc28 00000001`3f028600 00000000`00000000 00000000`00000000 : MSVCR100D!_CxxThrowException+0xb2 [f:\dd\vctools\crt_bld\self_64_amd64\crt\prebuild\eh\throw.cpp @ 157]
00000000`0019fc00 00000001`3f021a7c : 00000001`00000001 00000000`01d92760 00000000`00000000 00000001`3f0229ae : TestThrow!main+0x8d [d:\shortprogram\c++\testthrow\testthrow\testthrow.cpp @ 21]
00000000`0019fc40 00000001`3f0218ce : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : TestThrow!__tmainCRTStartup+0x19c [f:\dd\vctools\crt_bld\self_64_amd64\crt\src\crtexe.c @ 555]
00000000`0019fcb0 00000000`774d652d : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : TestThrow!mainCRTStartup+0xe [f:\dd\vctools\crt_bld\self_64_amd64\crt\src\crtexe.c @ 371]
00000000`0019fce0 00000000`7770c541 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0xd
KERNELBASE!RaiseException+39
000007fe`fd539e5d 4881c4c8000000 add rsp,0C8h
EXCEPTION_RECORD: ffffffffffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 000007fefd539e5d (KERNELBASE!RaiseException+0x0000000000000039)(win7下,当为server2008r2时 是0x3d)
ExceptionCode: e06d7363 (C++ EH exception)
ExceptionFlags: 00000001
NumberParameters: 4
Parameter[0]: 0000000019930520
Parameter[1]: 000000000019fc28
Parameter[2]: 000000013f028600
Parameter[3]: 000000013f020000
DEFAULT_BUCKET_ID: APPLICATION_FAULT
PROCESS_NAME: TestThrow.exe
ERROR_CODE: (NTSTATUS) 0xe06d7363 - <Unable to get error code text>
EXCEPTION_CODE: (NTSTATUS) 0xe06d7363 - <Unable to get error code text>
EXCEPTION_PARAMETER1: 0000000019930520
EXCEPTION_PARAMETER2: 000000000019fc28
EXCEPTION_PARAMETER3: 000000013f028600
EXCEPTION_PARAMETER4: 13f020000
MOD_LIST: <ANALYSIS/>
FAULTING_THREAD: 0000000000001a30
PRIMARY_PROBLEM_CLASS: APPLICATION_FAULT
BUGCHECK_STR: APPLICATION_FAULT_APPLICATION_FAULT
LAST_CONTROL_TRANSFER: from 000000005d080fb2 to 000007fefd539e5d
STACK_TEXT:
00000000`0019faa0 00000000`5d080fb2 : 00000000`00000000 00000000`0019fb90 ffffffff`00000001 00000001`3f0200f8 : KERNELBASE!RaiseException+0x39(同上)
00000000`0019fb70 00000001`3f02109d : 00000000`0019fc28 00000001`3f028600 00000000`00000000 00000000`00000000 : MSVCR100D!_CxxThrowException+0xb2 [f:\dd\vctools\crt_bld\self_64_amd64\crt\prebuild\eh\throw.cpp @ 157]
00000000`0019fc00 00000001`3f021a7c : 00000001`00000001 00000000`01d92760 00000000`00000000 00000001`3f0229ae : TestThrow!main+0x8d [d:\shortprogram\c++\testthrow\testthrow\testthrow.cpp @ 21]
00000000`0019fc40 00000001`3f0218ce : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : TestThrow!__tmainCRTStartup+0x19c [f:\dd\vctools\crt_bld\self_64_amd64\crt\src\crtexe.c @ 555]
00000000`0019fcb0 00000000`774d652d : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : TestThrow!mainCRTStartup+0xe [f:\dd\vctools\crt_bld\self_64_amd64\crt\src\crtexe.c @ 371]
00000000`0019fce0 00000000`7770c541 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0xd
00000000`0019fd10 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x1d
这种导致程序崩溃的原因基本上是使用了throw而没有去捕获导致的。