【问题标题】:vshost-clr2.exe has stopped workingvshost-clr2.exe 已停止工作
【发布时间】:2014-03-17 13:18:36
【问题描述】:

我正在wind2008 上的VS 2010 中开发一个应用程序。这是一个使用 .Net 2.0 库的 .Net 3.5 应用程序。

我将所有框架更改为 3.5 .Net 并取消选中“启用 Visual Studio 托管进程”

但是当我调试我的解决方案时,我得到了这个错误:

    Problem signature:
  Problem Event Name:   APPCRASH
  Application Name: AnalyseFarm.exe
  Application Version:  1.0.0.0
  Application Timestamp:    5326f157
  Fault Module Name:    KERNELBASE.dll
  Fault Module Version: 6.1.7600.16385
  Fault Module Timestamp:   4a5bdfe0
  Exception Code:   c000041d
  Exception Offset: 000000000000aa7d
  OS Version:   6.1.7600.2.0.0.274.10
  Locale ID:    1036
  Additional Information 1: 5ecb
  Additional Information 2: 5ecbd308407466ba89616cb69c9e62d8
  Additional Information 3: 9ac0
  Additional Information 4: 9ac06af1219db569f0ee193c24745b31

任何想法,野兽问候

【问题讨论】:

  • 我的想法是将其提交给微软帮助。如果您无法调试任何应用程序,那么这是一个应该考虑的严重问题。这对 SO 来说并不重要
  • 实际上,这个错误只是针对这个应用程序,其他的工作正常。

标签: visual-studio-2010 visual-studio


【解决方案1】:

异常代码:c000041d

这说明了这个故事,即 STATUS_FATAL_USER_CALLBACK_EXCEPTION,“在用户回调期间遇到未处理的异常”。你的程序抛出了一个异常并且它没有被处理。这通常会自动进入调试器并显示异常助手。

然而,异常发生在一个非常尴尬的时刻,就在操作系统处于无法承受正常 rigamarole 的状态时,当线程因例外。这种故障通常发生在回调是由 32 位代码触发但异常发生在 64 位代码中时,没有很好的机制将 64 位异常编组回 32 位代码,无法正确解释异常信息通过这样的代码,因为它包含 64 位指针值。或者反过来。由窗口管理器生成的 Windows 消息往往属于这一类。请注意,这只是对原因的粗略猜测,您需要找到真正的原因。

您可以通过强制调试器在引发异常的代码处停止,操作系统被要求处理它之前。使用 Debug + Exceptions 对话框,勾选 Throw 复选框以强制调试器在 throw 位置停止。

【讨论】:

  • 感谢 Hans,在 Debug + Exceptions 对话框中,勾选 Throw 复选框以强制调试器在 throw 位置停止。这是解决方案
猜你喜欢
  • 1970-01-01
  • 2013-08-09
  • 1970-01-01
  • 2014-04-15
  • 2012-03-31
  • 2011-10-18
  • 1970-01-01
  • 1970-01-01
  • 2016-03-08
相关资源
最近更新 更多