栋笃神探.NET运行库2.0错误 - 用户机器 - 下一步是什么? [英] Uncatchable .NET runtime 2.0 error - user machine - what next?

查看:245
本文介绍了栋笃神探.NET运行库2.0错误 - 用户机器 - 下一步是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

情况:

我有一个使用HTTP连接广泛(流抓取应用程序)的应用程序,它应该工作24/7。而它的作用。

I have an application that uses http connections extensively (stream ripping app) and it is supposed to work 24/7. And it does.

然而,偶尔,它运行时错误是未捕获的任何地方崩溃,并转储之后到事件日志:

However, occasionally, it crashes with runtime error that is uncaught anywhere, and dumps following to the event log:

Event Type: Error
Event Source:   .NET Runtime 2.0 Error Reporting
Event Category: None
Event ID:   5000
Date:       13.10.2010
Time:       11:02:30
User:       N/A
Computer:   STREAM01
Description:
EventType clr20r3, P1 streamsink.exe, P2 1.0.0.42484, P3 4c880fd9, P4 mscorlib, P5 2.0.0.0, P6 4add54dc, P7 344a, P8 21c, P9 system.io.ioexception, P10 NIL.

我的问题是:如何知道什么线code导致崩溃。我部署.PDBs的二进制文件,但是......怎么办?

My question is: how to know what line of code caused the crash. I am deploying .PDBs with the binaries, but... What to do?

目标为Windows XP,框架是2.0

Target is WIndows XP, Framework is 2.0

编辑:

我有这样的已经实现的:

I have this already implemented:

    static public void InitializeExceptionHandler(string AppName) {
        Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
        Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
        AppDomain currentDomain = AppDomain.CurrentDomain;
        currentDomain.UnhandledException+=new UnhandledExceptionEventHandler(currentDomain_UnhandledException);
        _appName=AppName;
    }

没有,这是行不通的!

推荐答案

也许这篇文章将是有益的一个简单的类来捕获未处理的异常的WinForms

Maybe this article will be helpful A Simple Class to Catch Unhandled Exceptions in WinForms

更新:

这很奇怪..因此,抓住 ProcDump ,编写批处理文件并要求你的客户来运行它,当他看到错误消息。获取转储,并尝试通过调查它<一个href="http://blogs.msdn.com/b/alejacma/archive/2009/07/07/managed-debugging-with-windbg-introduction-and-index.aspx"相对=nofollow> WinDbg的或VS 2010 <一href="http://www.wintellect.com/CS/blogs/jrobbins/archive/2010/06/17/how-to-capture-a-minidump-let-me-count-the-ways.aspx"相对=nofollow>这里的一些信息。

It very strange.. So grab ProcDump, write batch file and ask your customer to run it when he see error message. Get dump and try to investigate it via WinDbg or VS 2010. Here some more information.

另外,请查阅:创建和分析在.NET生产应用小型转储的。如果你是新来的WinDbg,检查苔丝Ferrandez的博客

Also check: Creating and analyzing minidumps in .NET production applications. If you are new to WinDbg, check Tess Ferrandez's blog

另一种方式去与远程调试安装

这篇关于栋笃神探.NET运行库2.0错误 - 用户机器 - 下一步是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆