倾尽所有求助~关闭程序遇到崩溃在CThreadLocalObject里
小弟不才最近调试程序遇到按alt + f4 关闭程序时崩溃,程序比较大有些io、堆栈操作什么的。
dmp分析如下
0:000> !analyze -v
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************
*************************************************************************
*** ***
*** ***
*** Your debugger is not using the correct symbols ***
*** ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** ***
*** Type referenced: kernel32!pNlsUserInfo ***
*** ***
*************************************************************************
*************************************************************************
*** ***
*** ***
*** Your debugger is not using the correct symbols ***
*** ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** ***
*** Type referenced: kernel32!pNlsUserInfo ***
*** ***
*************************************************************************
FAULTING_IP:
MFC80U!CThreadLocalObject::GetData+1f [f:\sp\vctools\vc7libs\ship\atlmfc\src\mfc\afxtls.cpp @ 409]
78310800 833e00 cmp dword ptr [esi],0
EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 78310800 (MFC80U!CThreadLocalObject::GetData+0x0000001f)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 00000000
Parameter[1]: 013d5a28
Attempt to read from address 013d5a28
DEFAULT_BUCKET_ID: INVALID_POINTER_READ
PROCESS_NAME: Master.exe
ERROR_CODE: (NTSTATUS) 0xc0000005 - "0x%08lx"
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - "0x%08lx"
EXCEPTION_PARAMETER1: 00000000
EXCEPTION_PARAMETER2: 013d5a28
READ_ADDRESS: 013d5a28
FOLLOWUP_IP:
MFC80U!CThreadLocalObject::GetData+1f [f:\sp\vctools\vc7libs\ship\atlmfc\src\mfc\afxtls.cpp @ 409]
78310800 833e00 cmp dword ptr [esi],0
FAULTING_THREAD: 000001f8
PRIMARY_PROBLEM_CLASS: INVALID_POINTER_READ
BUGCHECK_STR: APPLICATION_FAULT_INVALID_POINTER_READ
LAST_CONTROL_TRANSFER: from 7830feb7 to 78310800
STACK_TEXT:
0012ff08 7830feb7 7830ff0a 7834a0e9 0056ff68 MFC80U!CThreadLocalObject::GetData+0x1f [f:\sp\vctools\vc7libs\ship\atlmfc\src\mfc\afxtls.cpp @ 409]
0012ff10 7834a0e9 0056ff68 00000000 7831d342 MFC80U!AfxGetModuleThreadState+0x16 [f:\sp\vctools\vc7libs\ship\atlmfc\src\mfc\afxstate.cpp @ 468]
0012ff1c 7831d342 005cd890 00000001 00000000 MFC80U!AfxWinTerm+0x26 [f:\sp\vctools\vc7libs\ship\atlmfc\src\mfc\appterm.cpp @ 48]
0012ffc0 7c817067 80000001 055fe0c4 7ffd9000 MFC80U!AfxWinMain+0x70 [f:\sp\vctools\vc7libs\ship\atlmfc\src\mfc\winmain.cpp @ 61]
0012fff8 00000000 00000000 00000000 00000000 kernel32!BaseProcessStart+0x23
STACK_COMMAND: ~0s; .ecxr ; kb
FAULTING_SOURCE_CODE:
405: CNoTrackObject* (AFXAPI* pfnCreateObject)())
406: {
407: ENSURE(pfnCreateObject);
408:
> 409: if (m_nSlot == 0)
410: {
411: if (_afxThreadData == NULL)
412: {
413: _afxThreadData = new(__afxThreadData) CThreadSlotData;
414: ENSURE(_afxThreadData != NULL);
SYMBOL_STACK_INDEX: 0
SYMBOL_NAME: MFC80U!CThreadLocalObject::GetData+1f
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: MFC80U
IMAGE_NAME: MFC80U.DLL
DEBUG_FLR_IMAGE_TIMESTAMP: 45713438
FAILURE_BUCKET_ID: INVALID_POINTER_READ_c0000005_MFC80U.DLL!CThreadLocalObject::GetData
BUCKET_ID: APPLICATION_FAULT_INVALID_POINTER_READ_MFC80U!CThreadLocalObject::GetData+1f
WATSON_STAGEONE_URL: http://watson.microsoft.com/StageOne/Master_exe/6_5_0_5/4f50f887/MFC80U_DLL/8_0_50727_762/45713438/c0000005/00030800.htm?Retriage=1
Followup: MachineOwner
---------
网上搜了很多资料,搜索结果不多也都是悬案。也了解了些相关的tls什么的资料,还是想不通为什么在m_nSlot处会爆访问越界错误╮(╯_╰)╭。小弟不懂如何上传dmp文件,若有需要发我 miaku@qq.com || 跟帖|| 消息。望各位大侠提点则个
[解决办法]
开appverifer看看。