应用程序崩溃似乎完全是天真的点

时间:2015-08-18 16:22:59

标签: c# winforms

我有一个使用此Main方法的WinForms应用程序:

public Main()
{
    MessageBox.Show("1");
    InitializeComponent();
    MessageBox.Show("2");
    EnsureServiceIsInstalled();
    MessageBox.Show("4");
    LoadStationsFromConfigFile();
    MessageBox.Show("5");
}

还有这种方法:

private void EnsureServiceIsInstalled()
{
   MessageBox.Show("3");
   [ ... ]

运行时,我看到消息#1和#2 - 然后抛出异常并且程序崩溃。

修改
它在调试器中运行完全正常,并且根本不会崩溃。但是如果我在调试器之外运行它,我就会遇到这个问题。

在崩溃之前消息#3怎么可能不显示?

1 个答案:

答案 0 :(得分:3)

如果JITter无法JIT EnsureServiceIsInstalled方法,则会发生这种情况;通常,如果它使用装载程序无法找到的装配体 如果首先在该方法中使用的任何类型的类型初始化程序抛出,也会发生这种情况。

将外部方法包装在catch块中,以查看正在抛出的异常。