VB6 故障转储符号未解析



我无法解决这个问题。符号未解析

部署

我的系统有许多 exe 部署在网络路径上。所有用户都从该共享网络路径运行这些 exe。两周前这工作正常,但现在其中一些前任已经开始崩溃。没有崩溃的修复模式,它发生在任何用户身上,在任何活动期间的任何时间。

故障 排除

我得到了其中一个的转储,我尝试了 WinDbg 并得到了关注

Microsoft (R) Windows Debugger Version 6.2.9200.16384 X86
Copyright (c) Microsoft Corporation. All rights reserved.

Loading Dump File [C:crashRNS1000.exe.mdmp]
User Mini Dump File: Only registers, stack and portions of memory are available
Symbol search path is: SRV*c:crash*http://msdl.microsoft.com/download/symbols;c:crash
Executable search path is: 
Windows XP Version 2600 (Service Pack 3) MP (2 procs) Free x86 compatible
Product: WinNt, suite: SingleUserTS
Machine Name:
Debug session time: Wed Oct 10 15:36:36.000 2012 (UTC + 5:00)
System Uptime: not available
Process Uptime: 0 days 7:12:54.000
................................................................
.........................................................
Loading unloaded module list
.......
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(924.85c): In-page I/O error ffffffffc000020c - code c0000006 (first/second chance not available)
eax=02060000 ebx=7c90fe01 ecx=00001000 edx=7c90e4f4 esi=000003a0 edi=00000000
eip=7c90e4f4 esp=0013afdc ebp=0013b040 iopl=0         nv up ei ng nz ac pe cy
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00200297
ntdll!KiFastSystemCallRet:
7c90e4f4 c3              ret
0:000> !analyze -v 
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************
GetUrlPageData2 (WinHttp) failed: 12007.
FAULTING_IP: 
RNS1000+55f610
0095f610 ??              ???
EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 0095f610 (RNS1000+0x0055f610)
   ExceptionCode: c0000006 (In-page I/O error)
  ExceptionFlags: 00000000
NumberParameters: 3
   Parameter[0]: 00000008
   Parameter[1]: 0095f610
   Parameter[2]: c000020c
Inpage operation failed at 0095f610, due to I/O error c000020c
DEFAULT_BUCKET_ID:  SOFTWARE_NX_FAULT
PROCESS_NAME:  RNS1000.exe
ERROR_CODE: (NTSTATUS) 0xc0000006 - The instruction at "0x%08lx" referenced memory at "0x%08lx". The required data was not placed into memory because of an I/O error status of "0x%08lx".
EXCEPTION_CODE: (NTSTATUS) 0xc0000006 - The instruction at "0x%08lx" referenced memory at "0x%08lx". The required data was not placed into memory because of an I/O error status of "0x%08lx".
EXCEPTION_PARAMETER1:  00000008
EXCEPTION_PARAMETER2:  0095f610
EXCEPTION_PARAMETER3:  c000020c
IO_ERROR: (NTSTATUS) 0xc000020c - The transport connection is now disconnected.
ADDITIONAL_DEBUG_TEXT:  Followup set based on attribute [Is_ChosenCrashFollowupThread] from Frame:[0] on thread:[PSEUDO_THREAD]
LAST_CONTROL_TRANSFER:  from 00000000 to 00000000
APP:  rns1000.exe
FAULTING_THREAD:  ffffffff
PRIMARY_PROBLEM_CLASS:  SOFTWARE_NX_FAULT
BUGCHECK_STR:  APPLICATION_FAULT_SOFTWARE_NX_FAULT
STACK_TEXT:  
00000000 00000000 hardware_disk!Unknown+0x0

SYMBOL_STACK_INDEX:  0
SYMBOL_NAME:  hardware_disk!Unknown
FOLLOWUP_NAME:  MachineOwner
MODULE_NAME: hardware_disk
DEBUG_FLR_IMAGE_TIMESTAMP:  0
STACK_COMMAND:  ** Pseudo Context ** ; kb
FAILURE_BUCKET_ID:  SOFTWARE_NX_FAULT_c0000006_hardware_disk!Unknown
BUCKET_ID:  APPLICATION_FAULT_SOFTWARE_NX_FAULT_hardware_disk!Unknown
IMAGE_NAME:  hardware_disk
WATSON_STAGEONE_URL:  http://watson.microsoft.com/StageOne/RNS1000_exe/2_0_0_5/4f17b9d2/RNS1000_exe/2_0_0_5/4f17b9d2/c0000006/0055f610.htm?Retriage=1
Followup: MachineOwner
---------

我希望 RNS1000+55f610 解析为我的程序功能之一,但尚未解析。sysmbol 路径包含 exe、pdb 和 mdmp。

请告诉我为什么没有解决? 我做错了什么?

这里的关键部分是In-page I/O error。底层磁盘/网络驱动器消失。崩溃发生在一段时间后,当它尝试分页回部分可执行文件,但它不再具有有效的文件句柄/连接时。

唯一的解决方法是在本地运行它,或者确保磁盘在运行时不会消失。

更一般地说,您可以使用项目编译设置中的"创建符号调试信息"选项让 VB 创建用于本机调试的信息文件。不过,这只能在事实发生之前完成,并且无助于调试现有版本。

最新更新