【问题标题】:Application crash on start without exception raised启动时应用程序崩溃无异常引发
【发布时间】:2013-03-21 01:47:54
【问题描述】:

我正在尝试跟踪导致我的应用程序在从生产环境启动时启动时崩溃的原因。在 Visual Studio 中从调试启动时,此 C#/.NET windows 应用程序启动时没有任何问题,并且结果与预期一致。同一应用程序的早期版本也已部署并在其他客户端计算机上运行。
阅读Windows Error Reporting and CLR integration 中的解释,看来我的问题来自于程序集 ExcelInterop 中的一种方法。

错误桶,类型 0
活动名称:CLR20r3
答案:不可用
驾驶室编号:0

问题签名:
P1 : afiv2.exe ' 我的应用程序
P2:0.19.4826.21736
P3 : 51489aa0
P4 : ExcelInterop ' 我的图书馆
P5:1.0.0.0
P6 : 514878d9
P7 : 13 ' 方法描述 ???
P8 : 56
P9:PSZQOADHX1U5ZAHBHOHGHLDGIY4QIXHX
P10:

试图定位错误我使用windbg.exe菜单启动应用程序-->文件-->打开可执行文件(我第一次使用windbg),但控制台显示符号搜索路径无效。 根据Debugging .net using SOS,我使用以下命令序列恢复了符号路径:

!sym 嘈杂 .symfix .reload -f

第一次尝试加载SOS导致“无法找到模块mscorwks”错误,Help:Failed to load sos in windbg解决了这部分问题:

sxe ld:mscorlib G .loadby sos mscorwks !token2ee ExcelInterop 06000013

我预计最后一个命令将确定与事件报告中的数字关联的 methodDesc,但没有返回任何内容。

我现在感觉自己被困在了一个迷宫中。还应该做些什么来找出导致启动时崩溃的原因?


windbg 会话详情

<pre>
Microsoft (R) Windows Debugger Version 6.11.0001.404 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.

CommandLine: C:\Users\spel\AppData\Local\Apps\2.0\49619QZC.EY2\B8TZ2OKL.D49\afiv..tion_0000000000000000_0000.0016_22cd035f134c19e0\AFIv2.exe
Symbol search path is: *** Invalid ***
****************************************************************************
* Symbol loading may be unreliable without a symbol search path.           *
* Use .symfix to have the debugger choose a symbol path.                   *
* After setting your symbol path, use .reload to refresh symbol locations. *
****************************************************************************
Executable search path is: 
ModLoad: 00000000`00290000 00000000`0048e000   AFIv2.exe
ModLoad: 00000000`76f00000 00000000`770a9000   ntdll.dll
ModLoad: 000007fe`f89e0000 000007fe`f8a4f000   C:\Windows\SYSTEM32\MSCOREE.DLL
ModLoad: 00000000`76820000 00000000`7693f000   C:\Windows\system32\KERNEL32.dll
ModLoad: 000007fe`fd450000 000007fe`fd4bb000   C:\Windows\system32\KERNELBASE.dll
(121c.1494): Break instruction exception - code 80000003 (first chance)
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntdll.dll - 
ntdll!CsrSetPriorityClass+0x40:
00000000`76facb60 cc              int     3
0:000> .path
           ^ Syntax error in '.path'
0:000> .winpath
              ^ Syntax error in '.winpath'
0:000> .sympath
Symbol search path is: <empty>
Expanded Symbol search path is: <empty>
0:000> !sym noisy
noisy mode - symbol prompts on
0:000> .symfix
DBGHELP: Symbol Search Path: cache*C:\ProgramData\dbg\sym;SRV*http://msdl.microsoft.com/download/symbols
0:000> .reload -f
Reloading current modules
.
SYMSRV:  C:\ProgramData\dbg\sym\AFIv2.pdb\7C97CCD8E9CD4E26B6039C225A56890B15\AFIv2.pdb not found
SYMSRV:  C:\ProgramData\dbg\sym\AFIv2.pdb\7C97CCD8E9CD4E26B6039C225A56890B15\AFIv2.pdb not found
SYMSRV:  http://msdl.microsoft.com/download/symbols/AFIv2.pdb/7C97CCD8E9CD4E26B6039C225A56890B15/AFIv2.pdb not found
DBGHELP: C:\Users\spel\AppData\Local\Apps\2.0\49619QZC.EY2\B8TZ2OKL.D49\afiv..tion_0000000000000000_0000.0016_22cd035f134c19e0\AFIv2.pdb - file not found
DBGHELP: C:\Users\spel\Documents\GCRH complet\trunk\AFI_CS\IHM\obj\Debug\AFIv2.pdb cached to C:\ProgramData\dbg\sym\AFIv2.pdb\7C97CCD8E9CD4E26B6039C225A56890B15\AFIv2.pdb
*** WARNING: Unable to verify checksum for AFIv2.exe
DBGHELP: AFIv2 - private symbols & lines 
         C:\ProgramData\dbg\sym\AFIv2.pdb\7C97CCD8E9CD4E26B6039C225A56890B15\AFIv2.pdb
.
SYMSRV:  C:\ProgramData\dbg\sym\kernel32.pdb\C4312728BA1F4691955E99B2E026FAFC2\kernel32.pdb not found
SYMSRV:  kernel32.pdb from http://msdl.microsoft.com/download/symbols: 668117 bytes - copied         
DBGHELP: C:\ProgramData\dbg\sym\kernel32.pdb\C4312728BA1F4691955E99B2E026FAFC2\kernel32.pdb already cached
DBGHELP: KERNEL32 - public symbols  
         C:\ProgramData\dbg\sym\kernel32.pdb\C4312728BA1F4691955E99B2E026FAFC2\kernel32.pdb
.
DBGHELP: ntdll - public symbols  
         C:\ProgramData\dbg\sym\ntdll.pdb\15EB43E23B12409C84E3CC7635BAF5A32\ntdll.pdb
.
SYMSRV:  C:\ProgramData\dbg\sym\mscoree.pdb\FB53EF9DD104439E9903F0B34128E0392\mscoree.pdb not found
SYMSRV:  mscoree.pdb from http://msdl.microsoft.com/download/symbols: 294166 bytes - copied         
DBGHELP: C:\ProgramData\dbg\sym\mscoree.pdb\FB53EF9DD104439E9903F0B34128E0392\mscoree.pdb already cached
DBGHELP: MSCOREE - public symbols  
         C:\ProgramData\dbg\sym\mscoree.pdb\FB53EF9DD104439E9903F0B34128E0392\mscoree.pdb
.
SYMSRV:  C:\ProgramData\dbg\sym\kernelbase.pdb\91C72371DD43448192B7B46F5ED10AA02\kernelbase.pdb not found
SYMSRV:  kernelbase.pdb from http://msdl.microsoft.com/download/symbols: 231949 bytes - copied         
DBGHELP: C:\ProgramData\dbg\sym\kernelbase.pdb\91C72371DD43448192B7B46F5ED10AA02\kernelbase.pdb already cached
DBGHELP: KERNELBASE - public symbols  
         C:\ProgramData\dbg\sym\kernelbase.pdb\91C72371DD43448192B7B46F5ED10AA02\kernelbase.pdb

0:000> .loadby sos mscorwks
Unable to find module 'mscorwks'
0:000> sxe ld:mscorlib
0:000> g
ModLoad: 000007fe`f35e0000 000007fe`f44bc000   C:\Windows\assembly\NativeImages_v2.0.50727_64\mscorlib\51a23687fdafc32b697f5a719e364651\mscorlib.ni.dll
ntdll!ZwMapViewOfSection+0xa:
00000000`76f5159a c3              ret
0:000> .loadby sos mscorwks
0:000> !token2ee afi 06000013
SYMSRV:  C:\ProgramData\dbg\sym\mscorwks.pdb\E5BD5716E1D64C1C86661A5AAF7DD9251\mscorwks.pdb not found
SYMSRV:  mscorwks.pdb from http://msdl.microsoft.com/download/symbols: 2000973 bytes - copied         
DBGHELP: C:\ProgramData\dbg\sym\mscorwks.pdb\E5BD5716E1D64C1C86661A5AAF7DD9251\mscorwks.pdb already cached
DBGHELP: mscorwks - public symbols  
         C:\ProgramData\dbg\sym\mscorwks.pdb\E5BD5716E1D64C1C86661A5AAF7DD9251\mscorwks.pdb
0:000> !token2ee ExcelInterop 06000013
</pre>

【问题讨论】:

    标签: debugging windbg


    【解决方案1】:

    您可以改为设置sxe clr,它会在第一次出现异常时中断。然后执行!clrstack 会给出调用堆栈。

    Methoddsec 06000013 可能会根据 JIT 有所不同,因此您可能正在查看不会给您结果的指针。

    HTH

    【讨论】:

    • 谢谢纳文。这个sxe clr 在第一次出现异常的机会时打破了这项工作。我终于得到了继续调试所需的跟踪。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-09
    • 1970-01-01
    • 2014-03-25
    • 2022-07-27
    相关资源
    最近更新 更多