在我启动我的Excel插件,我使用下面的代码保存的句柄Excel窗口:崩溃,同时保留Excel中处理
ExcelWindow = new NativeWindow();
ExcelWindow.AssignHandle(new IntPtr(Application.Hwnd));
当谈到释放把手,我尽量去做同时关闭:
private void ThisAddInShutdown(object sender, EventArgs e)
{
try
{
ExcelWindow.ReleaseHandle();
}
catch
{
}
}
当在Debug模式下退出excel时,一切正常。不幸的是,在生产系统上运行此代码时,我遇到了崩溃,无法调试正在进行的操作。我得到一个“窗口正在检查这个问题”窗口,随后消失,就是这样。
这真的没什么大不了的,但我不想用这样的东西来惹恼用户。那么,有没有人知道它可能是什么,以及我该如何调试?谢谢。
尝试捕捉异常(* e.g'赶上(异常前)',并将其写入日志文件或数据库。*)。你甚至可以使用trace输出语句和** WinDbg **。我首先要捕捉源错误是什么,然后确定如何最好地处理它。 – SliverNinja
我不知道你是否注意到,但我有一个围绕导致异常的声明。这是行不通的。 –
请分享实际的'Exception'是什么。确保你在try/catch中包含了你插件中的任何代码。如果你删除了'ReleaseHandle'调用,'Exception'/crash会消失吗?不知道实际的例外情况,我们无法帮您排除故障。 – SliverNinja