vshost-clr2.exe 已停止工作

Ime*_*men 3 visual-studio-2010 visual-studio

我正在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
Run Code Online (Sandbox Code Playgroud)

任何想法,野兽问候

Han*_*ant 5

异常代码:c000041d

这说明了这个问题,那就是 STATUS_FATAL_USER_CALLBACK_EXCEPTION,“在用户回调期间遇到未处理的异常”。您的程序引发了异常并且未得到处理。通常会自动进入调试器并显示异常助手。

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

您可以通过在要求操作系统处理异常之前强制调试器在引发异常的代码处停止来实现此目的。使用“调试 + 异常”对话框,勾选“抛出”复选框以强制调试器在抛出位置停止。