Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
While launching Visual Studio 2012/2010 IDE, Visual Studio IDE may crash without any error message. I launched the devenv.exe in the debugger and took a crash dump. You can also run the following command to capture a crash dump: cscript adplus.vbs -crash –sc "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe"
After debugging I found the below Call Stack and the exception:
0:000> kL
ChildEBP RetAddr
00ebe444 73c390bf KERNELBASE!RaiseException+0x6c
00ebe4e8 73d70a4c clr!RaiseTheExceptionInternalOnly+0x276
00ebe500 73d70c7d clr!RaiseTheException+0x86
00ebe528 73d70cad clr!RealCOMPlusThrowWorker+0x72
(Inline) -------- clr!RealCOMPlusThrow+0x23
00ebe55c 73cefae6 clr!RealCOMPlusThrow+0x2f
00ebea44 73b63fbe clr!MethodTable::DoRunClassInitThrowing+0x382
00ebeacc 73b64022 clr!JIT_GetSharedNonGCStaticBase_Helper+0x85
00ebeb14 06c82520 clr!JIT_GetSharedNonGCStaticBase_Portable+0x2f
00ebeb14 06c82520 WindowsBase!MS.Win32.HwndSubclass.HookWindowProc(IntPtr, WndProc, IntPtr)+0x50
00ebeb24 06c82292 WindowsBase!MS.Win32.HwndSubclass.HookWindowProc(IntPtr, WndProc, IntPtr)+0x50
00ebeb64 0347a24d WindowsBase!MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)+0x5a
00ebeb98 750377d8 CLRStub[StubLinkStub]@9f897f120347a24d
00ebebc4 750378cb user32!InternalCallWinProc+0x23
00ebec40 75037b6f user32!UserCallWinProcCheckWow+0x100
00ebeca4 7503e4e0 user32!DispatchClientMessage+0x15d
00ebecdc 77942c92 user32!__fnINOUTLPPOINT5+0x2e
00ebecf0 0160f320 ntdll!KiUserCallbackDispatcher+0x2e
0:000> !pe
Exception object: 04041f58
Exception type: System.TypeInitializationException
Message: The type initializer for 'MS.Win32.ManagedWndProcTracker' threw an exception.
InnerException: System.BadImageFormatException, Use !PrintException 04040794 to see more.
StackTrace (generated):
SP IP Function
00EBEAEC 06C82964 WindowsBase!MS.Win32.ManagedWndProcTracker.TrackHwndSubclass(MS.Win32.HwndSubclass, IntPtr)+0x2c
00EBEB1C 06C82520 WindowsBase!MS.Win32.HwndSubclass.HookWindowProc(IntPtr, WndProc, IntPtr)+0x50
00EBEB34 06C82292 WindowsBase!MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)+0x5a
StackTraceString: <none>
HResult: 80131534
0:000> !PrintException 04040794
Exception object: 04040794
Exception type: System.BadImageFormatException
Message: Bad IL range.
InnerException: <none>
StackTrace (generated):
SP IP Function
00000000 00000001 WindowsBase!MS.Internal.ShutDownListener..ctor(System.Object, MS.Internal.ShutDownEvents)+0x2
00EBE3F4 06C82ACA WindowsBase!MS.Win32.ManagedWndProcTracker+ManagedWndProcTrackerShutDownListener..ctor()+0xa
00EBE3F8 06C82AA7 WindowsBase!MS.Win32.ManagedWndProcTracker..cctor()+0x9f
StackTraceString: <none>
HResult: 8007000b
0:000> .frame06
06 00ebea44 73b63fbe clr!MethodTable::DoRunClassInitThrowing+0x382
0:000> dv /v /t
@esi class MethodTable * this = 0x06c9544c
00ebe590 class GCCoop __gcHolder = class GCCoop
00ebe5f8 class AppDomain * pDomain = 0x01079850
00ebe5dc class Thread * pThread = 0x010be9f8
@edi class ListLock * _pLock = 0x061dd010
00ebe600 class Wrapper<ListLock *,&ListLock::HolderEnter,&ListLock::HolderLeave,0,&CompareDefault<ListLock *>,2,1> pInitLock = class Wrapper<ListLock *,&ListLock::HolderEnter,&ListLock::HolderLeave,0,&CompareDefault<ListLock *>,2,1>
<unavailable> struct MethodTable::DoRunClassInitThrowing::__l18::_gc gc = <value unavailable>
<unavailable> class ListLockEntry * pEntry = <value unavailable>
<unavailable> class FrameWithCookie<GCFrame> __gcframe = <value unavailable>
<unavailable> unsigned long hOrigInitException = <value unavailable>
<unavailable> class InlineSString<1024> _ssclsname_w_ = <value unavailable>
<unavailable> wchar_t * wszName = <value unavailable>
00ebe5d8 unsigned long hNewInitException = 0x6c82938
<unavailable> class CLRException::HandlerState __state = <value unavailable>
<unavailable> class CAutoTryCleanup<CLRException::HandlerState> __autoCleanupTry = <value unavailable>
00ebe59c class Exception * __pExceptionRaw = 0x73b6c86f
<unavailable> class CLRLastThrownObjectException __defaultException = <value unavailable>
<unavailable> class ExceptionHolderTemplate<Exception> __pException = <value unavailable>
<unavailable> class ListLockEntry::LockHolder pLock = <value unavailable>
<unavailable> class ReleaseHolder<ListLockEntry> pEntry = <value unavailable>
<unavailable> struct MethodTable::DoRunClassInitThrowing::__l80::_gc gc = <value unavailable>
00ebe574 class FrameWithCookie<GCFrame> __gcframe = class FrameWithCookie<GCFrame>
<unavailable> class InlineSString<1024> _ssclsname_w_ = <value unavailable>
@ebx wchar_t * wszName = 0x00ebe628 "MS.Win32.ManagedWndProcTracker"
<unavailable> class CLRException::HandlerState __state = <value unavailable>
<unavailable> class CAutoTryCleanup<CLRException::HandlerState> __autoCleanupTry = <value unavailable>
00ebe598 class Exception * __pExceptionRaw = 0x00ebe920
<unavailable> class CLRLastThrownObjectException __defaultException = <value unavailable>
<unavailable> class ExceptionHolderTemplate<Exception> __pException = <value unavailable>
0:000> !dumpmt 0x06c9544c
EEClass: 06c48194
Module: 03473d48
Name: MS.Win32.ManagedWndProcTracker
mdToken: 020002a2
File: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\WindowsBase\v4.0_4.0.0.0__31bf3856ad364e35\WindowsBase.dll
BaseSize: 0xc
ComponentSize: 0x0
Slots in VTable: 11
Number of IFaces in IFaceMap: 0
I saved the module WindowsBase.dll locally by running the below command:
0:000> !savemodule 06da0000 C:\WindowsBase.dll
From the Visual Studio command prompt, I ran the following command to validate the MSIL and metadata: C:\>peverify WindowsBase.dll
Microsoft (R) .NET Framework PE Verifier. Version 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
[MD]: Error: Method has invalid local signature token (0x01af0039). [token:0x06000AFC]
1 Error(s) Verifying C:\WindowsBase.dll
Hence, I copied the file WindowsBase.dll from an another working system and launched Visual Studio IDE successfully.
Comments
- Anonymous
August 25, 2013
The comment has been removed - Anonymous
August 25, 2013
At frame six of thread zero, the exception was thrown as highlight in the stack. Also apps crash for a reason. Of course some fundamental knowledge is required to find the cause of crashes.