我很擅长使用WinDbg,但最近我的应用程序开始出现问题,但仅限于Windows 7计算机(它在第一次启动PC时运行正常,但每次都崩溃或者只是静默消失)。
我得到了mdmp文件,但发现自己有点缺乏如何最好地从中提取我需要的数据。我得到了以下分析(可能做错了)......
任何人都希望有助于解释我的问题,或者我是否错误地运行了分析:
0:000> !analyze -v
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************
GetPageUrlData failed, server returned HTTP status 404
URL requested: http://watson.microsoft.com/StageOne/Star_exe/1_0_0_0/4dbad268/KERNELBASE_dll/6_1_7600_16385/4a5bdaae/e0434352/00009617.htm?Retriage=1
FAULTING_IP:
KERNELBASE!RaiseException+58
752d9617 c9 leave
EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 752d9617 (KERNELBASE!RaiseException+0x00000058)
ExceptionCode: e0434352 (CLR exception)
ExceptionFlags: 00000001
NumberParameters: 5
Parameter[0]: 80070002
Parameter[1]: 00000000
Parameter[2]: 00000000
Parameter[3]: 00000000
Parameter[4]: 57af0000
PROCESS_NAME: Star.exe
ERROR_CODE: (NTSTATUS) 0xe0434352 - <Unable to get error code text>
EXCEPTION_CODE: (NTSTATUS) 0xe0434352 - <Unable to get error code text>
EXCEPTION_PARAMETER1: 80070002
EXCEPTION_PARAMETER2: 00000000
EXCEPTION_PARAMETER3: 00000000
EXCEPTION_PARAMETER4: 0
MOD_LIST: <ANALYSIS/>
NTGLOBALFLAG: 0
APPLICATION_VERIFIER_FLAGS: 0
MANAGED_STACK: !dumpstack -EE
No export dumpstack found
MANAGED_BITNESS_MISMATCH:
Managed code needs matching platform of sos.dll for proper analysis. Use 'x86' debugger.
ADDITIONAL_DEBUG_TEXT: Followup set based on attribute [Is_ChosenCrashFollowupThread] from Frame:[0] on thread:[PSEUDO_THREAD]
LAST_CONTROL_TRANSFER: from 57c03970 to 752d9617
FAULTING_THREAD: ffffffff
DEFAULT_BUCKET_ID: STACKIMMUNE
PRIMARY_PROBLEM_CLASS: STACKIMMUNE
BUGCHECK_STR: APPLICATION_FAULT_STACKIMMUNE_NOSOS_CLR_EXCEPTION_WRONG_SYMBOLS
STACK_TEXT:
00000000 00000000 star.exe+0x0
SYMBOL_NAME: star.exe
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: star
IMAGE_NAME: Star.exe
DEBUG_FLR_IMAGE_TIMESTAMP: 4dbad268
STACK_COMMAND: ** Pseudo Context ** ; kb
FAILURE_BUCKET_ID: STACKIMMUNE_e0434352_Star.exe!Unknown
BUCKET_ID: APPLICATION_FAULT_STACKIMMUNE_NOSOS_CLR_EXCEPTION_WRONG_SYMBOLS_star.exe
FOLLOWUP_IP: *** WARNING: Unable to verify timestamp for Star.exe
Star!.ctor+0 [C:\Users\Aj\Documents\Visual Studio 2010\Projects\Star\Star\ViewModels\ViewModelBase.cs @ 22]
00360000 ?? ???
WATSON_STAGEONE_URL: http://watson.microsoft.com/StageOne/Star_exe/1_0_0_0/4dbad268/KERNELBASE_dll/6_1_7600_16385/4a5bdaae/e0434352/00009617.htm?Retriage=1
Followup: MachineOwner
---------
答案 0 :(得分:1)
您可能希望以本文为出发点:SOS: It's Not Just an ABBA Song Anymore
您的应用程序看起来像是一个.NET应用程序,请确保您安装了正确的.NET Framework。将sos.dll文件加载到windbg时,可能必须提供完整路径。此外,您可以设置对公共微软符号服务器的访问权限,以帮助您进行一些堆栈跟踪。本文可能有所帮助:Debugging Tools and Symbols: Getting Started。确保您已获得最新版本的调试工具。
!analyze会给你一些关于故障的信息,但不会给你太多。你应该看看第一篇文章,看看还有什么。
发布有关您的申请的一些信息也可以帮助人们了解您是否遇到类似的问题。
看起来您的ViewModelBase.cs文件中发生了错误。您可能希望添加一些日志记录(使用log4net或类似工具)来捕获异常并打印出堆栈跟踪。您还可以挂钩AppDomain.CurrentDomain.UnhandledException event(或WPF应用程序的Application.DispatcherUnhandledException event)以捕获任何被抛出的内容并将某些内容打印到日志文件中。在这种情况下,您不需要求助于WinDbg来弄清楚发生了什么。
答案 1 :(得分:1)
经过几周的搜索(可能更多),事实证明,当使用趋势科技公司,XP到Server 2003很好,Vista和Windows 7到2003就可以了,甚至XP / Vista到服务器2008也没问题,但(并且我不知道为什么),当使用Windows 7并尝试使用快捷方式中的UNC路径运行网络应用程序时,它会阻止该应用程序的某些网络流量,并且它偶尔会这样做,看起来似乎是什么没有任何合理的逻辑。我不能说为什么因为我们从来没有弄清楚究竟什么催化剂引起趋势,但我知道当我们禁用趋势时,一切都恢复正常(我希望我们能早点尝试)。我们发现通过将驱动器映射到我们的共享并更改我们的用户工作站上的快捷方式来使用映射驱动器而不是UNC路径,避免了问题。
希望没有其他人遇到这个问题,但如果他们这样做,这或许可以解决这个问题。
谢谢! AJ