【问题标题】:Application ends without throwing exceptions应用程序结束而不抛出异常
【发布时间】:2011-01-18 12:09:45
【问题描述】:

以下代码

new System.Threading.Timer(state =>
{
     var query = "Select Caption from Win32_OperatingSystem";
     var objectQuery = new WqlObjectQuery(query);
     var searcher = new ManagementObjectSearcher(objectQuery);
     searcher.Get();
     //unreachable code
}, null, 0, 1000);

立即结束我的应用程序而不抛出异常。 如果您将这些行复制并粘贴到新的控制台项目中,您可能无法重现该问题。 上面的代码是我的 Windows 服务的一小部分,它可能是问题的原因。上面的代码由单元测试执行,单元测试正常运行而不会抛出异常。 问题发生前最后执行的行并不总是相同的。 我该怎么办?

【问题讨论】:

    标签: c# .net visual-studio-2010 debugging exception


    【解决方案1】:

    我换了

    this.timer = new Timer(
        TimerCallback,
        null,
        Settings.Default.CheckDelay,
        Settings.Default.CheckInterval);
    

    通过

    new Thread(delegate()
        {
            Thread.Sleep(Settings.Default.CheckDelay);
            while (isRunning)
            {
                TimerCallback(null);
                Thread.Sleep(Settings.Default.CheckInterval);
            }
        }).Start();
    

    哪个更丑,但解决了我无法调试的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多