窗口应用程序调试



我的操作组,开发人员不知道为什么会发生这种情况。基本上,客户端/服务器应用程序的服务器端服务挂起。我们一直在推送新的错误修复版本并向开发人员提供各种日志,但他们无法弄清楚。为了使它更难弄清楚,这是一个与客户端上的另一个应用程序非常紧密地工作的应用程序。

我不知道我是否在这里做某事,因为我的风帆经验有限,但这似乎值得一试。谷歌非常有前途,但大多数游戏玩家的蓝屏并没有提供更多信息......

我在转储开始时发现了这一点:

警告:odbccp32 与 comctl32 重叠。 警告:odbc32 与 odbccp32 重叠 警告:odbc32 与 comctl32 重叠 ............. 警告:MSWSOCK 与 FWPUCLNT 重叠...... 警告:温斯塔与温西重叠。 警告:NTLANMAN与DRPROV重叠... 警告:srvcli 与 netapi32 重叠 警告:WKSCLI 与 SRVCLI 重叠 .......... 警告:ncrypt 与 schannel 重叠。 警告:nlaapi 与 ncrypt 重叠。 警告:NapiNSP与nlaapi重叠.... 警告:RSAENH与cryptsp重叠

而且低一点:

OVERLAPPED_MODULE:"odbc32"和"odbccp32"重叠的地址区域

这是完整的 !analyze -v 转储:

Microsoft (R) Windows Debugger Version 6.2.8400.0 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.

Loading Dump File [C:debugMESPLSMES.dmp]
User Mini Dump File: Only registers, stack and portions of memory are available
Symbol search path is: srv*c:symbols*c:windowssymbols*http://msdl.microsoft.com/download/symbols
Executable search path is: 
Windows 7 Version 7601 (Service Pack 1) MP (16 procs) Free x64
Product: Server, suite: TerminalServer SingleUserTS
Machine Name:
Debug session time: Thu Jun 14 10:37:01.000 2012 (UTC + 2:00)
System Uptime: not available
Process Uptime: 0 days 6:36:13.000
......................................WARNING: odbccp32 overlaps comctl32
.WARNING: odbc32 overlaps odbccp32
WARNING: odbc32 overlaps comctl32
.............WARNING: mswsock overlaps FWPUCLNT
.......WARNING: winsta overlaps winnsi
.WARNING: ntlanman overlaps drprov
....
...WARNING: srvcli overlaps netapi32
.WARNING: wkscli overlaps srvcli
..........WARNING: ncrypt overlaps schannel
.WARNING: nlaapi overlaps ncrypt
.WARNING: NapiNSP overlaps nlaapi
....WARNING: rsaenh overlaps cryptsp
Cannot read PEB32 from WOW64 TEB32 7efdd000 - Win32 error 0n30
wow64cpu!CpupSyscallStub+0x9:
00000000`741f2e09 c3              ret
0:000> !analyze -v
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************
*** WARNING: Unable to verify timestamp for PLSMES.exe
*** ERROR: Module load completed but symbols could not be loaded for PLSMES.exe
FAULTING_IP: 
+0
00000000`00000000 ??              ???
EXCEPTION_RECORD:  ffffffffffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 0000000000000000
   ExceptionCode: 80000003 (Break instruction exception)
  ExceptionFlags: 00000000
NumberParameters: 0
FAULTING_THREAD:  0000000000001364
DEFAULT_BUCKET_ID:  BAD_DUMP_MISSING_MEMORY
PROCESS_NAME:  PLSMES.exe
OVERLAPPED_MODULE: Address regions for 'odbc32' and 'odbccp32' overlap
ERROR_CODE: (NTSTATUS) 0x80000003 - {EXCEPTION}  Breakpoint  A breakpoint has been reached.
EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - One or more arguments are invalid
NTGLOBALFLAG:  0
APPLICATION_VERIFIER_FLAGS:  0
APP:  plsmes.exe
ADDITIONAL_DEBUG_TEXT:  Followup set based on attribute [Is_ChosenCrashFollowupThread] from Frame:[0] on thread:[PSEUDO_THREAD]
LAST_CONTROL_TRANSFER:  from 0000000000000000 to 00000000741f2e09
PRIMARY_PROBLEM_CLASS:  BAD_DUMP_MISSING_MEMORY
BUGCHECK_STR:  APPLICATION_FAULT_BAD_DUMP_MISSING_MEMORY
STACK_TEXT:  
00000000`00000000 00000000`00000000 bad_dump!missing_stack+0x0

SYMBOL_STACK_INDEX:  0
SYMBOL_NAME:  bad_dump!missing_stack
FOLLOWUP_NAME:  MachineOwner
MODULE_NAME: bad_dump
IMAGE_NAME:  bad_dump
DEBUG_FLR_IMAGE_TIMESTAMP:  0
STACK_COMMAND:  ** Pseudo Context ** ; kb
FAILURE_BUCKET_ID:  BAD_DUMP_MISSING_MEMORY_80000003_bad_dump!missing_stack
BUCKET_ID:  X64_APPLICATION_FAULT_BAD_DUMP_MISSING_MEMORY_bad_dump!missing_stack
WATSON_STAGEONE_URL:  http://watson.microsoft.com/StageOne/PLSMES_exe/4_4_3_2582/4f8ac8f6/unknown/0_0_0_0/bbbbbbb4/80000003/00000000.htm?Retriage=1
Followup: MachineOwner
---------

这可能与应用程序挂起有关吗?重叠的内存似乎并不好。注意:同一服务器运行同一应用程序的其他实例,而不会出错。

任何指向进一步调试的指针也会很好。

(从ServerFault移出,我想这里最好问这个问题。

当使用 64 位版本的任务管理器创建 32 位进程的转储时,我看到会发生这种情况。如果是这种情况,请使用 32 位版本的任务管理器,该版本可以在 SysWOW64 文件夹中找到。此链接描述了该问题:http://blogs.msdn.com/b/tess/archive/2010/09/29/capturing-memory-dumps-for-32-bit-processes-on-an-x64-machine.aspx

最新更新