【问题标题】:VS2013 doesn't seem to attach correctly - a debugger is attached to but not configured to debug this unhandled exceptionVS2013 似乎没有正确附加 - 调试器已附加但未配置为调试此未处理的异常
【发布时间】:2015-07-06 01:29:06
【问题描述】:

在编写控制台应用程序时,我使用的是 SAP DLL。 尝试添加 SAP 对象时出现以下错误:

调试器已附加到但未配置为调试此未处理的异常。要调试此异常,请分离当前调试器。

代码:

SAPbobsCOM.GeneralService oGeneralService = oCmpSrv.GetGeneralService("WEPPAGE");
SAPbobsCOM.GeneralData oGeneralData = (SAPbobsCOM.GeneralData)oGeneralService.GetDataInterface(di.GeneralServiceDataInterfaces.gsGeneralData);
oGeneralData.SetProperty("U_WebId", "1");
try
{
    oGeneralService.Add(oGeneralData);
}
catch (Exception e)
{
    Logger.WriteLog("Error Add object " + e.Message);
}

虽然代码用 try&catch 包装,但 IDE 会崩溃。

在网上多次搜索和建议后,我遇到了this post,并应用了建议的解决方案,并在项目属性调试选项卡下启用了本机代码调试。

勾选此选项的结果是,不是让我调试未知错误,而是异常“消失”并且代码运行不受干扰。

问题

  1. 为什么异常消失没有调试?
  2. 是否可以针对此问题使用不同的解决方法,因为启用本机代码调试会使应用程序速度降低 10 倍,并且不能真正解决此问题。

【问题讨论】:

  • 启用本机代码调试后日志中是否出现任何情况?还是 Logger 没有记录任何内容?
  • @m_wilczynski 日志文件中没有任何内容,除了我在这里写的内容之外,无法获得任何信息...
  • 也许 Logger 在这里抛出异常?这没有什么意义,但它并没有被捕获,因为它本身就在一个 catch 块中?
  • @m_wilczynski 记录器在到达该点之前在代码中的许多其他地方都可以正常工作。

标签: c# visual-studio debugging visual-studio-2013 sapb1


【解决方案1】:

虽然代码用 try&catch 封装,但 IDE 崩溃

不,WER 对话框显示崩溃的是您的程序,而不是 IDE。不是您的代码,OBServerDLL 是一个 SAP 组件。鉴于崩溃的性质,使用 try/catch 将无法捕获此异常,它发生在 SAP 代码内的工作线程上。

请记住,崩溃原因非常令人讨厌,异常代码 c0000005 相当于 AccessViolationException。通常的原因是内存损坏。永远不要捕获这样的异常,您的程序无法有意义地继续运行。

为什么异常消失没有调试?

这当然应该发生,非常不健康。 AVE 确实往往是相当随机的,内存损坏并不能保证崩溃。请记住,当您在调试时确实发生这种情况时,您仍然无法找到任何原因,因为您没有 OBServerDLL 的源代码。

启用本机代码调试会使应用程序速度降低 10 倍

这不太可能,除非本机代码以非常高的速率抛出异常。您可以在“输出”窗口中轻松看到的内容。它所做 所做的是减慢调试会话的启动速度。调试器将尝试查找所有本机可执行文件的 PDB,它不会在 Microsoft Symbol Server for SAP 代码中找到任何内容。避免这种延迟的最简单方法是使用工具 > 选项 > 调试 > 符号,取消选中“Microsoft Symbols Servers”选项。

在 SAP 支持论坛上的This question 有点类似。也是寻找此类问题帮助的最佳场所。尽管您可能需要 SAP 升级工程师的支持,但他需要一个小型重现项目和崩溃流程的小型转储。

【讨论】:

  • 虽然它没有解决我的问题,但这个答案包含了很多有用的见解。为了避免应用程序崩溃,我不得不切换回 X86,我希望 SAP 能够修复 X64 的 dll。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-16
  • 1970-01-01
  • 1970-01-01
  • 2013-04-26
  • 1970-01-01
  • 2019-02-11
相关资源
最近更新 更多