2 xiaohuaibao xiaohuaibao 于 2014.05.26 15:46 提问

请教dump文件分析问题

我的程序在客户电脑上偶尔会死机,保存了死机时的DUMP文件,但是看不出问题,哪位大神指导一下?

0:000> !analyze -v


  • *
  • Exception Analysis *
  • * *******************************************************************************

*** ERROR: Symbol file could not be found. Defaulted to export symbols for user32.dll -
GetUrlPageData2 (WinHttp) failed: 12030.

FAULTING_IP:
+755fd8c74230000
00000000 ?? ???

EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 00000000
ExceptionCode: 80000003 (Break instruction exception)
ExceptionFlags: 00000000
NumberParameters: 0

CONTEXT: 00000000 -- (.cxr 0x0;r)
eax=000000bc ebx=006a2130 ecx=00000064 edx=00008b6d esi=000001d0 edi=00000000
eip=7c92e514 esp=0012ed30 ebp=0012ed94 iopl=0 nv up ei pl zr na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246
ntdll!KiFastSystemCallRet:
7c92e514 c3 ret

FAULTING_THREAD: 00000dd8

DEFAULT_BUCKET_ID: STATUS_BREAKPOINT

PROCESS_NAME: MAWin.exe

ERROR_CODE: (NTSTATUS) 0x80000003 - {

EXCEPTION_CODE: (NTSTATUS) 0x80000003 (2147483651) - {

NTGLOBALFLAG: 0

APPLICATION_VERIFIER_FLAGS: 0

APP: mawin.exe

ANALYSIS_VERSION: 6.3.9600.17029 (debuggers(dbg).140219-1702) x86fre

PRIMARY_PROBLEM_CLASS: STATUS_BREAKPOINT

BUGCHECK_STR: APPLICATION_FAULT_STATUS_BREAKPOINT

LAST_CONTROL_TRANSFER: from 7c92df5a to 7c92e514

STACK_TEXT:

0012ed2c 7c92df5a 7c8025db 000001d0 00000000 ntdll!KiFastSystemCallRet
0012ed30 7c8025db 000001d0 00000000 00000000 ntdll!NtWaitForSingleObject+0xc
0012ed94 7c802542 000001d0 ffffffff 00000000 kernel32!WaitForSingleObjectEx+0xa8
0012eda8 7c831fe0 000001d0 ffffffff 007ccea4 kernel32!WaitForSingleObject+0x12
0012edbc 0057abd7 000001d0 0012eddc 0012ee00 kernel32!GetOverlappedResult+0x30
0012ee10 00499f60 006a2130 00000000 00000001 MAWin!ThxComm32.WriteBuffer+0xdf
0012ee34 0049a36f 012c6a98 012c6ab2 000000ff MAWin!TPxComm32.SendComm+0x120
0012ee90 0049a858 00000000 00000000 ffffffff MAWin!TPxComm32.SendCommEx+0x353
0012eea8 00425302 0012fe38 0066f530 012cc004 MAWin!TPxComm32.GasOff+0x1c
0012fd78 00410fa4 012dd238 012dd238 012cc004 MAWin!TSampleForm.Start+0x390e
0012fd8c 0066f542 0012fdc0 0066f428 0012fe54 MAWin!TMainForm.AutoTimerTimer+0x54
0012fdb8 006c6372 00000113 00000001 00000000 MAWin!Extctrls.TTimer.Timer+0x12
0012fdd0 77d18734 000b0202 00000113 00000001 MAWin!Classes._17260+0x16
WARNING: Stack unwind information not available. Following frames may be wrong.
0012fdfc 77d18816 01190e0e 000b0202 00000113 user32!GetDC+0x6d
0012fe64 77d189cd 00000000 01190e0e 000b0202 user32!GetDC+0x14f
0012fec4 77d196c7 0012fef4 00000001 0012ff40 user32!GetWindowLongW+0x127
0012fed4 00669c20 0012fef4 0012ff00 00000000 user32!DispatchMessageA+0xf
0012ff40 00405b7b 00000000 00753034 00142442 MAWin!Forms.TApplication.ProcessMessage+0x88
0012ff88 006ef70b 00400000 00000000 00142442 MAWin!WinMain+0x113
0012ffc0 7c81776f 00091378 7c93005d 7ffd9000 MAWin!_startup+0x14f
0012fff0 00000000 004019f0 00000000 78746341 kernel32!BaseProcessStart+0x23

STACK_COMMAND: ~0s; .ecxr ; kb

FOLLOWUP_IP:
MAWin!ThxComm32.WriteBuffer+df
0057abd7 85c0 test eax,eax

SYMBOL_STACK_INDEX: 5

SYMBOL_NAME: mawin!ThxComm32.WriteBuffer+df

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: MAWin

IMAGE_NAME: MAWin.exe

DEBUG_FLR_IMAGE_TIMESTAMP: 537ef3ed

FAILURE_BUCKET_ID: STATUS_BREAKPOINT_80000003_MAWin.exe!ThxComm32.WriteBuffer

BUCKET_ID: APPLICATION_FAULT_STATUS_BREAKPOINT_mawin!ThxComm32.WriteBuffer+df

ANALYSIS_SOURCE: UM

FAILURE_ID_HASH_STRING: um:status_breakpoint_80000003_mawin.exe!thxcomm32.writebuffer

FAILURE_ID_HASH: {c0136087-fa5c-54f2-9419-a16689e0d97a}

Followup: MachineOwner
可以看出来是死在WriteBuffer函数上,但是看不出为什么会死
分析了一下堆栈的状态
0:000> ~*kb

. 0 Id: e38.dd8 Suspend: 0 Teb: 7ffdf000 Unfrozen
ChildEBP RetAddr Args to Child

0012ed2c 7c92df5a 7c8025db 000001d0 00000000 ntdll!KiFastSystemCallRet
0012ed30 7c8025db 000001d0 00000000 00000000 ntdll!NtWaitForSingleObject+0xc
0012ed94 7c802542 000001d0 ffffffff 00000000 kernel32!WaitForSingleObjectEx+0xa8
0012eda8 7c831fe0 000001d0 ffffffff 007ccea4 kernel32!WaitForSingleObject+0x12
0012edbc 0057abd7 000001d0 0012eddc 0012ee00 kernel32!GetOverlappedResult+0x30
0012ee10 00499f60 006a2130 00000000 00000001 MAWin!ThxComm32.WriteBuffer+0xdf
0012ee34 0049a36f 012c6a98 012c6ab2 000000ff MAWin!TPxComm32.SendComm+0x120
0012ee90 0049a858 00000000 00000000 ffffffff MAWin!TPxComm32.SendCommEx+0x353
0012eea8 00425302 0012fe38 0066f530 012cc004 MAWin!TPxComm32.GasOff+0x1c
0012fd78 00410fa4 012dd238 012dd238 012cc004 MAWin!TSampleForm.Start+0x390e
0012fd8c 0066f542 0012fdc0 0066f428 0012fe54 MAWin!TMainForm.AutoTimerTimer+0x54
0012fdb8 006c6372 00000113 00000001 00000000 MAWin!Extctrls.TTimer.Timer+0x12
0012fdd0 77d18734 000b0202 00000113 00000001 MAWin!Classes._17260+0x16
WARNING: Stack unwind information not available. Following frames may be wrong.
0012fdfc 77d18816 01190e0e 000b0202 00000113 user32!GetDC+0x6d
0012fe64 77d189cd 00000000 01190e0e 000b0202 user32!GetDC+0x14f
0012fec4 77d196c7 0012fef4 00000001 0012ff40 user32!GetWindowLongW+0x127
0012fed4 00669c20 0012fef4 0012ff00 00000000 user32!DispatchMessageA+0xf
0012ff40 00405b7b 00000000 00753034 00142442 MAWin!Forms.TApplication.ProcessMessage+0x88
0012ff88 006ef70b 00400000 00000000 00142442 MAWin!WinMain+0x113
0012ffc0 7c81776f 00091378 7c93005d 7ffd9000 MAWin!_startup+0x14f
0012fff0 00000000 004019f0 00000000 78746341 kernel32!BaseProcessStart+0x23

1 Id: e38.69c Suspend: 0 Teb: 7ffdd000 Unfrozen
ChildEBP RetAddr Args to Child

020ffe74 7c92d21a 7c8023f1 00000000 020ffea8 ntdll!KiFastSystemCallRet
020ffe78 7c8023f1 00000000 020ffea8 020fff6c ntdll!ZwDelayExecution+0xc
020ffed0 7c802455 00000001 00000000 020fff18 kernel32!SleepEx+0x61
020ffee0 0049ecdc 00000001 0613b2ff 1f1b611a kernel32!Sleep+0xf
020fff18 00574931 020fff78 0057493b 020fff70 MAWin!TCommThread.Execute+0xec
020fff70 006c4e67 020fff84 006c4e71 020fffa0 MAWin!Exceptionlog.HookedThreadExecute+0xd1
020fffa0 006e35be 020fffdc 006e31b8 020fffb4 MAWin!Classes._17119+0x37
020fffb4 7c80b729 01239fa0 00000208 0012fbd0 MAWin!System._16726+0x2a
020fffec 00000000 006e3594 01239fa0 00000000 kernel32!BaseThreadStart+0x37
更看不出问题了。。。
哪位大神指导一下??小女子不胜感激

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
DUMP文件分析1:DUMP文件简介
1.1 DUMP文件类型Windows下Dump文件分为两大类,内核模式Dump和用户模式Dump。内核模式Dump是操作系统创建的崩溃转储,最经典的就是系统蓝屏,这时候会自动创建内核模式的Dump。用户模式Dump进一步可以分为完整Dump(Full Dump)和迷你Dump(Minidump)。完整Dump包含了某个进程完整的地址空间数据,以及许多用于调试的信息,而Minidump则有许多类型,
如何分析Windows的dump文件 (usermode篇)
Windows的dump文件一般分为两种,一种是usermode的dump,比如一些应用程序崩溃之后生成的dump文件,另外一种是kernelmode的dump,比如一些驱动出错导致的蓝屏之后生成的dump文件。     这里我打算就这两种情况各举一例分别进行说明。     最常用的分析windows的dump文件的软件当属windbg了,虽然visualstudio也能用来分析,但一般用的不
Vs中使用dump文件调试程序崩溃
Vs中使用dump文件调试程序崩溃   1. Dump文件的生成 在vs中要生成dump文件需要加入一些代码,这些代码在debug或release代码下均有效果。 首先定义异常类: class CSE_Exception {      public:          CSE_Exception() : m_nSENumber(0) {}
DUMP文件分析2:一个最简单的DUMP分析示例
本节开始,我将在示例中给大家讲述基本的DUMP文件分析方法。读者应该对Windows系统比较了解,同时比较熟悉Windbg。 本节的示例非常简单,也非常经典,就是常常会遇到的访问空指针。Windows将进程内存空间的一段范围设置为NULL(64KB),这段空间禁止访问。一旦我们在程序中不小心访问了这段地址(通常是指针未初始化),就会引起访问越界异常,造成程序崩溃,例如本示例: 这是一个简单的
问题请教工程,问题请教工程
问题请教工程,问题请教工程,问题请教工程,问题请教工程,问题请教工程,问题请教工程,问题请教工程,问题请教工程,
WinDbg分析DUMP文件
WinDbg分析DUMP文件 1. 如何生成dump文件?     原理:通过SetUnhandledExceptionFilter设置捕获dump的入口,然后通过MiniDumpWriteDump生成dump文件;                SetUnhandledExceptionFilter:https://msdn.microsoft.com/query/dev1
使用jprofiler分析dump文件一个实例
jstact 命令先分析一下 一次fullgc之后 old 老年代使用比例 只降低2% 应该有什么大的对象常驻内存。 使用jprofiler 加载dump文件 点击菜单biggst object 发现大对象是arrayblockingqueue 占用400M 点击show in graph 图形展示对象 发现关联的可能问题来自
Windbg 内核调试 Dump文件分析
Dump 蓝屏
Windows下dump文件生成与分析
一、    生成Dump文件方式 1.1任务管理器 在程序崩溃后,先不关闭程序,在任务管理器中找到该程序对应的进程。右键—>创建转储文件。 此时会在默认的目录下创建出一个dump文件。 可以看出,此种方法只适用于程序崩溃但没有立即自行退出的情况。倘若程序故障后自行退出,则此方法就难以应用。不过,我们可以在注册表中添加如下信息已确保系统在程序崩
第23课:使用MAT对Dump文件进行分析实战
第23课:使用MAT对Dump文件进行分析实战 /* 王家林老师授课http://weibo.com/ilovepains  每天晚上20:00YY频道现场授课频道68917580*/   1 导出Dump文件 2 使用MAT对Dump文件进行分析实战   一:下载安装mat www.eclipse.org/mat/downloads.php 解压缩到G:\IMFBigData