Re: 求助大神,分析一个Dump文件
C/C++本地代码调试
求助大神,分析一个Dump文件
HiJack
2014-03-14, 17:52 下午
FAULTING_IP:
HttpService_cURL_Single_U!std::_Tree<std::_Tmap_traits<unsigned int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,std::basic_string<wchar_t,std::char_traits<w+6 [d:\program files\microsoft visual studio 9.0\vc\include\xtree @ 1004]
0fc95da6 8b4a04 mov ecx,dword ptr [edx+4]
EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 00000000
ExceptionCode: 80000003 (Break instruction exception)
ExceptionFlags: 00000000
NumberParameters: 0
FAULTING_THREAD: 0000
PROCESS_NAME: mCloudmgr.exe
ERROR_CODE: (NTSTATUS) 0x80000003 - {
EXCEPTION_CODE: (NTSTATUS) 0x80000003 (2147483651) - {
MOD_LIST: <ANALYSIS/>
NTGLOBALFLAG: 0
APPLICATION_VERIFIER_FLAGS: 0
ADDITIONAL_DEBUG_TEXT: Followup set based on attribute [Is_ChosenCrashFollowupThread] from Frame:[0] on thread:[PSEUDO_THREAD]
LAST_CONTROL_TRANSFER: from 0fc95d1e to 0fc95da6
BUGCHECK_STR: APPLICATION_FAULT_STATUS_BREAKPOINT_FILL_PATTERN_ffffffff
PRIMARY_PROBLEM_CLASS: STATUS_BREAKPOINT_FILL_PATTERN_ffffffff
DEFAULT_BUCKET_ID: STATUS_BREAKPOINT_FILL_PATTERN_ffffffff
STACK_TEXT:
02f3eb94 0fc95da6 httpservice_curl_single_u!std::_Tree<std::_Tmap_traits<unsigned int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,std::basic_string<wchar_t,std::char_traits<w+0x6
02f3eb98 0fc95d1e httpservice_curl_single_u!std::_Tree<std::_Tmap_traits<unsigned int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,std::basic_string<wchar_t,std::char_traits<w+0xe
02f3ebbc 0fc95b80 httpservice_curl_single_u!TEP::HttpService::ErrorInfo::getErrorInfo+0x540
02f3ec2c 0fc95c6e httpservice_curl_single_u!TEP::HttpService::ErrorInfo::getErrorInfoA+0x4e
02f3ec74 0fca5844 httpservice_curl_single_u!TEP::HttpService::CcURLWrapper::sendHttpRequest+0x1924
02f3fec8 0fc9f0cb httpservice_curl_single_u!TEP::HttpService::HttpTask::Run+0x8b
02f3ff00 0fca692c httpservice_curl_single_u!CThreadPool::_ThreadProc+0x9c
02f3ff28 74a33433 msvcr90!_endthreadex+0x44
02f3ff60 74a334c7 msvcr90!_endthreadex+0xd8
02f3ff6c 75e4ed5c kernel32!BaseThreadInitThunk+0xe
02f3ff78 775537eb ntdll!__RtlUserThreadStart+0x70
02f3ffb8 775537be ntdll!_RtlUserThreadStart+0x1b
STACK_COMMAND: .cxr 02F3E75C ; kb ; dt ntdll!LdrpLastDllInitializer BaseDllName ; dt ntdll!LdrpFailureData ; dds 2f3eb94 ; kb
FOLLOWUP_IP:
HttpService_cURL_Single_U!TEP::HttpService::ErrorInfo::getErrorInfo+0 [e:\l54035\tep2.0\httpservice\pc\httpservice\httpservice\errorinfo.cpp @ 16]
0fc95640 55 push ebp
SYMBOL_NAME: httpservice_curl_single_u!TEP::HttpService::ErrorInfo::getErrorInfo+0
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: HttpService_cURL_Single_U
IMAGE_NAME: HttpService_cURL_Single_U.dll
DEBUG_FLR_IMAGE_TIMESTAMP: 53145e22
FAILURE_BUCKET_ID: STATUS_BREAKPOINT_FILL_PATTERN_ffffffff_80000003_HttpService_cURL_Single_U.dll!TEP::HttpService::ErrorInfo::getErrorInfo
BUCKET_ID: APPLICATION_FAULT_STATUS_BREAKPOINT_FILL_PATTERN_ffffffff_httpservice_curl_single_u!TEP::HttpService::ErrorInfo::getErrorInfo+0
WATSON_STAGEONE_URL: http://watson.microsoft.com/StageOne/mCloudmgr_exe/1_0_0_15/531fbd5c/unknown/0_0_0_0/bbbbbbb4/80000003/00000000.htm?Retriage=1
Followup: MachineOwner
ADDITIONAL_DEBUG_TEXT描述不知道是啥意思?代码看起来也没问题
Re: 求助大神,分析一个Dump文件
格蠹老雷
2014-03-14, 21:06 下午
0x80000003 是断点异常的代码,通常这是因为触发了模块中的断言或者调试支持代码 (遇到严重意外,主动中断到调试器)
从栈回溯看,调用了
std::allocator,分配内存,所以怀疑又是“堆腐败”。程序内部某个地方错误使用内存导致堆被破坏,破坏时不知不觉,以后再使用堆时可能就触发问题了
Re: 求助大神,分析一个Dump文件
HiJack
2014-03-15, 10:04 上午
谢谢张老师,那我能不能通过!heap 指令找到些蛛丝马迹?还烦请张老师给个思路,指点一二~~~ 学生在此谢过了 :)
Re: 求助大神,分析一个Dump文件
格蠹老雷
2014-03-15, 21:24 下午
如果是完整的dump,当然可以,会看到被破坏的堆块
Re: 求助大神,分析一个Dump文件
HiJack
2014-03-18, 15:41 下午
谢谢张老师,我自己在仔细调试一下