最近,我逐行追踪异常的来源。
Try
{
Debug.WriteLine("ViewHelper before comObj.Send() ");
comObj.Send(); // a very old com component
Debug.WriteLine("ViewHelper after comObj.Send() ");
}
Catch (Exception Ex)
{
Debug.WriteLine("ViewHelper comObj.Send " + Ex.Message);
}comObj.Send()抛出一个异常
异常使应用程序崩溃
但它并没有在上面的尝试捕捉到。
在Visual中,我已经中断了所有的异常,但它并没有中断这一行
它被捕获在全局错误处理程序App_DispatcherUnhandledException中。
如果我将e.Handled =true设置为true;它只是多次抛出,并且仍然会崩溃应用程序。
异常没有提供有关源的任何信息。
我找到源代码的唯一方法是在调试语句之前和之后找到源代码。
异常每百次中就有一个被抛出,因此很难追踪。
有更好的更快的方法找到异常的来源吗?
有办法让我们回到最后一行吗?
在have站点中,我应该把重点放在COM组件上。
发布于 2013-09-16 17:55:54
当我怀疑从本机代码中抛出异常时,我会启用debugging of unmanaged code。来自MSDN
启用非托管代码的调试
这会降低性能,因此在不调试本机组件时将其关闭。
我也会先破解所有的异常,但是您已经提到了,所以非托管调试将是我的下一步。
https://stackoverflow.com/questions/18834127
复制相似问题