vshost-clr2.exe 已停止工作 [英] vshost-clr2.exe has stopped working

查看:35
本文介绍了vshost-clr2.exe 已停止工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm working on an app in VS 2010 on wind2008. It's a .Net 3.5 app that use .Net 2.0 library.

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

I change all Frameworks to 3.5 .Net and uncheck "Enable the visual studio hosting process"

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

But When I debug my solution I got this error :

    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

任何想法,野兽问候

推荐答案

异常代码:c000041d

Exception Code: c000041d

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

This tells the tale, that's STATUS_FATAL_USER_CALLBACK_EXCEPTION, "An unhandled exception was encountered during a user callback". Your program threw an exception and it wasn't handled. Which normally automatically breaks into the debugger and displays the Exception Assistant.

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

However, the exception occurred at a very awkward time, just when the operating system was in a state where it cannot afford to go through the normal rigamarole that it goes through when a thread dies with an exception. This kind of mishap usually occurs when the callback was triggered by 32-bit code but the exception occurred in 64-bit code, there's no good mechanism to marshal 64-bit exceptions back into 32-bit code, the exception information cannot be properly interpreted by such code since it includes 64-bit pointer values. Or the other way around. Windows messages generated by the window manager tend to fall in this category. Beware that this is just a rough guess at the reason, you need to find the real one.

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

You do so by forcing the debugger to stop at the code where the exception is thrown, before the operating system is asked to deal with it. Use the Debug + Exceptions dialog, tick the Thrown checkboxes to force the debugger to stop at the throw location.

这篇关于vshost-clr2.exe 已停止工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆