如何在执行期间诊断我的VB.NET程序崩溃?

时间:2011-02-15 14:37:05

标签: vb.net visual-studio-2010 error-handling

每次尝试在我自己的开发系统以外的其他机器上运行时,我的程序都会崩溃。它运行得很好,但是当我安装并运行它时,其他人都会崩溃。

更糟糕的是,它只给我通用“[这里的名字]遇到了问题,需要关闭。我们很抱歉给您带来不便”。所以我永远无法找到它崩溃的原因和地点!!!!

http://img513.imageshack.us/img513/6010/ownerror.jpg

错误签名是:

  EventType : clr20r3     P1 : [name here].exe     P2 : 1.0.0.0     P3 : 4d5a8bcb     
  P4 : own     P5 : 1.0.0.0     P6 : 4d5a8bcb     P7 : d     P8 : c6     
  P9 : system.invalidoperationexception

我甚至在form_load中将放在错误goto doh 上,但我什么都没得到。只有它在form_load上加载的是 me.show(),就是这样!

如果有人对我能做些什么有任何见解来弄清楚它的崩溃那将是非常棒的! :O)

谢谢,

大卫

5 个答案:

答案 0 :(得分:1)

以下是一些值得考虑的事项:

1)您是否检查过Windows应用程序日志以查看是否可以获得更明确的错误消息?

2)尝试注释尽可能多的初始化代码以缩小您的问题范围。对我来说,这听起来非常像环境依赖,但你想先消除你的代码。

3)您的机器与其他机器有什么区别?您的DEV机器上是否有运行时所需的库(如VB运行时)?

答案 1 :(得分:1)

另一件事。

不要使用ON ERROR GOTO ......这是一种跟踪错误的旧方法。我甚至不知道它现在是否有效。 yse尝试......赶上。

答案 2 :(得分:1)

我的经验是,这通常是app.config文件丢失/损坏的问题。它永远不会实际运行您可以观察/跟踪的任何代码,因为它永远不会完成加载基本配置。

答案 3 :(得分:1)

我过去为解决类似问题所做的事情是在干净的Windows安装上安装Visual Studio然后安装我的程序。这使我能够看到我的程序中出现错误的位置。在我的情况下,它是一个丢失的DLL文件。

答案 4 :(得分:0)

可能是InitializeComponent中导致错误的一些代码。在Form.vb上,为New()事件添加一个处理程序,它应该在那里显示带有initialize组件调用的New()方法。将该代码放在try catch块中,看看是否有任何不同的错误。