Windows application debugging

谁说我不能喝 提交于 2019-12-23 02:34:51

问题


My operations group, and the devs are clueless to why this happens. Basically the server-side service of a client/server application hangs. We have been pushing new bugfixed versions and providing all kinds of logs to the devs, but they can't figure it out. To make it even harder to figure out, this is an application that works very closely with another application on the client side.

I have no idea if I'm onto something here, as I have limited windbg experience, but this seems worth checking out. Google comes up pretty promising, but with mostly gamers having BSODs not providing much more info...

I found this bit at the start of the dump:

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

and a bit lower:

OVERLAPPED_MODULE: Address regions for 'odbc32' and 'odbccp32' overlap

Here is the complete !analyze -v dump:

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


Loading Dump File [C:\debug\MES\PLSMES.dmp]
User Mini Dump File: Only registers, stack and portions of memory are available

Symbol search path is: srv*c:\symbols*c:\windows\symbols*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
---------

Could this be related to the application hangs? Overlapping memory doesn't seem good. Note: The same server runs other instances of the same application without error.

Any pointers to further debugging would also be nice.

(Moved from ServerFault, I guess this is better asked here.)


回答1:


I've seen this happen when a 64 bit version of task manager is used to create a dump of a 32 bit process. If this is your case, then use the 32 bit version of task manager which can be found in the SysWOW64 folder. This link describes the problem: http://blogs.msdn.com/b/tess/archive/2010/09/29/capturing-memory-dumps-for-32-bit-processes-on-an-x64-machine.aspx



来源:https://stackoverflow.com/questions/11097652/windows-application-debugging

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!