【问题标题】:Strange error message when closing WinForms App关闭 WinForms 应用程序时出现奇怪的错误消息
【发布时间】:2011-02-09 18:48:27
【问题描述】:

我们有一个 Windows 窗体应用程序,它使用了一些 com 组件,例如 Web 浏览器控件和用于签名板的 API。

当应用程序关闭时,有时会显示一个错误对话框,其中包含以下文本:

“sw: myapp.exe - 应用程序错误”

文本是这样的:执行以下操作时,指令 xyz 导致对地址 yxz 的非法访问:READ。

奇怪的是,即使我在 Visual Studio 中激活了非托管调试并打开了异常,调试器也没有中断。

之后,应用程序无法从 Visual Studio 重新启动,因为它说文件仍在使用中,就好像应用程序仍在运行一样。 当我尝试将调试器附加到此进程时,它失败了。

有人知道如何调试这种奇怪的行为吗?错误对话框标题中的 SW 是什么意思?我在我的系统上搜索了它,它显然没有现有的 dll。

【问题讨论】:

    标签: c# .net visual-studio debugging com


    【解决方案1】:

    您可能没有正确卸载 COM 对象。

    var myObj = ISomeCOMObject.MyObject();
    myObj.DoStuff();
    myObj.Dispose();
    
    //the important line of code that you need
    Marshal.ReleaseComObject(myObj);
    

    http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.marshal.releasecomobject%28v=VS.100%29.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-21
      • 2021-07-05
      • 1970-01-01
      • 2021-05-30
      • 1970-01-01
      • 1970-01-01
      • 2018-06-28
      • 2011-06-15
      相关资源
      最近更新 更多