Visual Studio崩溃会随机破​​坏KERNELBASE.dll [英] visual studio crashes randomly devenv KERNELBASE.dll

查看:199
本文介绍了Visual Studio崩溃会随机破​​坏KERNELBASE.dll的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的Visual Studio随机崩溃.事件查看器显示以下错误

My Visual Studio crashes randomly. Event Viewer shows the following error

错误的应用程序名称:devenv.exe,版本:12.0.40629.0,时间 标记:0x5590c8a4

Faulting application name: devenv.exe, version: 12.0.40629.0, time stamp: 0x5590c8a4

故障模块名称:KERNELBASE.dll,版本: 10.0.15063.674,时间戳:0x6d16dd24

Faulting module name: KERNELBASE.dll, version: 10.0.15063.674, time stamp: 0x6d16dd24

异常代码:0xe0434352

Exception code: 0xe0434352

故障偏移量:0x000eb872

Fault offset: 0x000eb872

故障进程ID:0x3b00

Faulting process id: 0x3b00

故障排除应用程序的开始时间:0x01d34ecf7a049150

Faulting application start time: 0x01d34ecf7a049150

错误的应用程序路径:C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ devenv.exe

Faulting application path: C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe

故障模块路径:C:\ Windows \ System32 \ KERNELBASE.dll

Faulting module path: C:\Windows\System32\KERNELBASE.dll

报告ID:xxxxxxxx-867c-4c54-b259-c28a7b9d8151

Report Id: xxxxxxxx-867c-4c54-b259-c28a7b9d8151

故障包全名: 与程序包相关的应用程序ID错误:

Faulting package full name: Faulting package-relative application ID:

我尝试在(C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE)上运行devenv/SAFEMODE命令

I have tried running devenv /SAFEMODE command at (C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE)

但仍然不断发生,有时还会出现一个对话框"可用存储空间不足"

but still it keeps occuring and sometimes a dialog box also appears "not enough storage available"

应用程序:devenv.exe

Application: devenv.exe

框架版本:v4.0.30319

Framework Version: v4.0.30319

说明:由于未处理的异常,进程已终止.

Description: The process was terminated due to an unhandled exception.

异常信息:System.ComponentModel.Win32Exception,位于 MS.Win32.UnsafeNativeMethods.RegisterClassEx(WNDCLASSEX_D)

Exception Info: System.ComponentModel.Win32Exception at MS.Win32.UnsafeNativeMethods.RegisterClassEx(WNDCLASSEX_D)

活动日志

(0x80004005):没有足够的存储空间来处理此命令

(0x80004005): Not enough storage is available to process this command

在MS.Win32.UnsafeNativeMethods.RegisterClassEx(WNDCLASSEX_D wc_d)

at MS.Win32.UnsafeNativeMethods.RegisterClassEx(WNDCLASSEX_D wc_d)

at MS.Win32.HwndWrapper..ctor(Int32 classStyle,Int32样式,Int32 exStyle,Int32 x,Int32 y,Int32宽度,Int32高度,字符串名称,IntPtr父级,HwndWrapperHook []钩子)

at MS.Win32.HwndWrapper..ctor(Int32 classStyle, Int32 style, Int32 exStyle, Int32 x, Int32 y, Int32 width, Int32 height, String name, IntPtr parent, HwndWrapperHook[] hooks)

在System.Windows.Interop.HwndSource.Initialize(HwndSourceParameters参数)

at System.Windows.Interop.HwndSource.Initialize(HwndSourceParameters parameters)

在System.Windows.Interop.HwndSource..ctor(HwndSourceParameters参数)

at System.Windows.Interop.HwndSource..ctor(HwndSourceParameters parameters)

在System.Windows.Controls.Primitives.Popup.PopupSecurityHelper.BuildWindow(Int32 x,Int32 y,Visual placeTarget,布尔型透明,HwndSourceHook钩子,AutoResizedEventHandler处理程序)

at System.Windows.Controls.Primitives.Popup.PopupSecurityHelper.BuildWindow(Int32 x, Int32 y, Visual placementTarget, Boolean transparent, HwndSourceHook hook, AutoResizedEventHandler handler)

在System.Windows.Controls.Primitives.Popup.BuildWindow(Visual targetVisual)

at System.Windows.Controls.Primitives.Popup.BuildWindow(Visual targetVisual)

在System.Windows.Controls.Primitives.Popup.CreateWindow(布尔asyncCall)

at System.Windows.Controls.Primitives.Popup.CreateWindow(Boolean asyncCall)

在System.Windows.Controls.Primitives.Popup.OnIsOpenChanged(DependencyObject d,DependencyPropertyChangedEventArgs e)

at System.Windows.Controls.Primitives.Popup.OnIsOpenChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)

在System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)

at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)

在System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)

at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)

在System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)

at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)

在System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex,DependencyProperty dp,PropertyMetadata元数据,EffectiveValueEntry oldEntry,EffectiveValueEntry& newEntry,布尔值coerceWithDeferredReference,布尔值coerceWithCurrentValue,OperationType操作类型)

at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)

在System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp,对象值,PropertyMetadata元数据,布尔值coerceWithDeferredReference,布尔值coerceWithCurrentValue,OperationType operationType,布尔值isInternal)

at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)

在System.Windows.DependencyObject.SetValue(DependencyProperty dp,对象值)

at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)

在Microsoft.VisualStudio.Language.Intellisense.Implementation.MouseTrackingQuickInfoPresenter.Render()

at Microsoft.VisualStudio.Language.Intellisense.Implementation.MouseTrackingQuickInfoPresenter.Render()

在Microsoft.VisualStudio.Language.Intellisense.Implementation.IntellisenseSessionStack.OnSessionPresenterChanged(对象发送方,EventArgs e)

at Microsoft.VisualStudio.Language.Intellisense.Implementation.IntellisenseSessionStack.OnSessionPresenterChanged(Object sender, EventArgs e)

在Microsoft.VisualStudio.Language.Intellisense.Implementation.IntellisenseSession.RaisePresenterChanged()

at Microsoft.VisualStudio.Language.Intellisense.Implementation.IntellisenseSession.RaisePresenterChanged()

在Microsoft.VisualStudio.Language.Intellisense.Implementation.QuickInfoSession.Recalculate()

at Microsoft.VisualStudio.Language.Intellisense.Implementation.QuickInfoSession.Recalculate()

在Microsoft.VisualStudio.Language.Intellisense.Implementation.QuickInfoSession.Start()

at Microsoft.VisualStudio.Language.Intellisense.Implementation.QuickInfoSession.Start()

在Microsoft.VisualStudio.Language.Intellisense.Implementation.QuickInfoBroker.TriggerQuickInfo(ITextView textView,ITrackingPoint triggerPoint,布尔trackMouse)

at Microsoft.VisualStudio.Language.Intellisense.Implementation.QuickInfoBroker.TriggerQuickInfo(ITextView textView, ITrackingPoint triggerPoint, Boolean trackMouse)

在Microsoft.Html.Editor.HtmlQuickInfoController.OnMouseHover(对象发送方,MouseHoverEventArgs e)

at Microsoft.Html.Editor.HtmlQuickInfoController.OnMouseHover(Object sender, MouseHoverEventArgs e)

在Microsoft.VisualStudio.Text.Editor.Implementation.WpfTextView.RaiseHoverEvents()

at Microsoft.VisualStudio.Text.Editor.Implementation.WpfTextView.RaiseHoverEvents()

我的应用程序在安全模式中运行一两次,然后退出.尝试重新启动Visual Studio时,它将失败.然后事件查看器或cmd提示符不起作用,我必须重新启动计算机以使某些功能起作用.

My Application runs for once or twice in safemode then even that exits. When trying to restart visual studio, it fails. Then event viewer or cmd prompt do not work and i have to restart my machine to make something work.

看起来像

Looks like this and this is my issue. Now How do i use Dispatcher in my code?

public string ConvertRtfToHtml(string rtfText)
    {

        try
        {
            var thread = new Thread(ConvertRtfInSTAThread);                
            var threadData = new ConvertRtfThreadData { RtfText = rtfText };
            thread.SetApartmentState(ApartmentState.STA);
            thread.Start(threadData);

            try
            {
                thread.Join();
            }
            catch(ThreadStateException e){
                logger.Error("ThreadStateException " + e.Message);
            }
            catch (ThreadInterruptedException e) {
                logger.Error("ThreadInterruptedException " + e.Message);
            }                


            return threadData.HtmlText;

        }
        catch (Exception e){
            logger.Error("ConvertRtfToHtml: " + e.InnerException.Message);
            return "Error";
        }

    }

ConvertRtfToHtml 在循环中被调用 ConvertRtfInSTAThread 使用RichTextBox控件

the ConvertRtfToHtml is being called from within a loop the ConvertRtfInSTAThread uses a RichTextBox control

推荐答案

经过大量的试验和错误后,我发现根本原因是. 此处是我的实现.

after lots of trial and errors i found the root cause was this. Here is my implementation.

这篇关于Visual Studio崩溃会随机破​​坏KERNELBASE.dll的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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