Visual Studio 2013安装Update 3启动crash的解决方法

Visual Studio 2013安装完Update 3后启动立刻crash,异常信息为:

System.InvalidOperationException was unhandled
Message: An unhandled exception of type 'System.InvalidOperationException' occurred in WindowsBase.dll
Additional information: Dispatcher processing has been suspended, but messages are still being processed.

选择调试器时下意识又选择Visual Studio 2013,但一想这样不是会再次crash?竟然顺利启动成功。如果再次运行Visual Studio 2013还是会直接crash。

使用devenv /safemode仍然报错,尝试devenv /logs启动查看ActivityLog.xml并无发现错误信息。

<?xml version="1.0" encoding="utf-16"?>
<?xml-stylesheet type="text/xsl" href="ActivityLog.xsl"?>
<activity>
  <entry>
    <record>1</record>
    <time>2014/08/07 05:50:43.412</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Microsoft Visual Studio 2013 version: 12.0.30723.0</description>
  </entry>
  <entry>
    <record>2</record>
    <time>2014/08/07 05:50:43.413</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Running in User Groups: Administrators Users</description>
  </entry>
  <entry>
    <record>3</record>
    <time>2014/08/07 05:50:43.413</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Available Drive Space: C:\ drive has 70932393984 bytes; D:\ drive has 124598435840 bytes</description>
  </entry>
  <entry>
    <record>4</record>
    <time>2014/08/07 05:50:43.414</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Internet Explorer Version: 10.0.9200.17028</description>
  </entry>
  <entry>
    <record>5</record>
    <time>2014/08/07 05:50:43.415</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>.NET Framework Version: 4.0.41209.0</description>
  </entry>
  <entry>
    <record>6</record>
    <time>2014/08/07 05:50:43.415</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>MSXML Version: 6.30.9200.16447</description>
  </entry>
  <entry>
    <record>7</record>
    <time>2014/08/07 05:50:43.417</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Creating PkgDefCacheNonVolatile</description>
  </entry>
  <entry>
    <record>8</record>
    <time>2014/08/07 05:50:43.430</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Double-checking master pkgdef file</description>
  </entry>
  <entry>
    <record>9</record>
    <time>2014/08/07 05:50:43.430</time>
    <type>Information</type>
    <source>Microsoft Visual Studio Appid Stub</source>
    <description>Application launch on system with DPI X/Y: 96/96</description>
  </entry>
  <entry>
    <record>10</record>
    <time>2014/08/07 05:50:43.438</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>PkgDefManagement initialized</description>
  </entry>
  <entry>
    <record>11</record>
    <time>2014/08/07 05:50:43.438</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>RootFolder</description>
    <path>C:\Program Files (x86)\Microsoft Visual Studio 12.0\</path>
  </entry>
  <entry>
    <record>12</record>
    <time>2014/08/07 05:50:43.438</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>ShellFolder</description>
    <path>C:\Program Files (x86)\Microsoft Visual Studio 12.0\</path>
  </entry>
  <entry>
    <record>13</record>
    <time>2014/08/07 05:50:43.438</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>PkgDefSearchPath</description>
    <path>C:\Program Files (x86)\Microsoft Visual Studio 12.0\\Common7\IDE\Extensions;C:\Program Files (x86)\Microsoft Visual Studio 12.0\\Common7\IDE\CommonExtensions;C:\Program Files (x86)\Microsoft Visual Studio 12.0\\Common7\IDE\devenv.admin.pkgdef</path>
  </entry>
  <entry>
    <record>14</record>
    <time>2014/08/07 05:50:43.438</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>ApplicationExtensionsFolder</description>
    <path>C:\Program Files (x86)\Microsoft Visual Studio 12.0\\Common7\IDE\Extensions</path>
  </entry>
  <entry>
    <record>15</record>
    <time>2014/08/07 05:50:43.438</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>&quot;ZeroImpact&quot; = dword:0, &quot;MergeRegistry&quot; = dword:1</description>
  </entry>
  <entry>
    <record>16</record>
    <time>2014/08/07 05:50:43.440</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>User extensions enabled by setting</description>
    <path>HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\ExtensionManager\EnableAdminExtensions</path>
  </entry>
  <entry>
    <record>17</record>
    <time>2014/08/07 05:50:43.441</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>PkgDefManagement startup complete</description>
  </entry>
  <entry>
    <record>18</record>
    <time>2014/08/07 05:50:43.441</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Configuration file to be used for CLR initialization</description>
    <path>C:\Users\Administrator\AppData\Local\Microsoft\VisualStudio\12.0\devenv.exe.config</path>
  </entry>
  <entry>
    <record>19</record>
    <time>2014/08/07 05:50:43.441</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>AppId setting up registry detouring</description>
  </entry>
  <entry>
    <record>20</record>
    <time>2014/08/07 05:50:43.441</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Adding detour rule 1: from HKLM</description>
    <path>Software\Microsoft\VisualStudio\12.0</path>
  </entry>
  <entry>
    <record>21</record>
    <time>2014/08/07 05:50:43.441</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Detour to HKCU</description>
    <path>Software\Microsoft\VisualStudio\12.0_Config</path>
  </entry>
  <entry>
    <record>22</record>
    <time>2014/08/07 05:50:43.442</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Adding detour rule 2: from HKLM</description>
    <path>Software\Microsoft\VisualStudio\12.0</path>
  </entry>
  <entry>
    <record>23</record>
    <time>2014/08/07 05:50:43.442</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Detour to HKCU</description>
    <path>Software\Microsoft\VisualStudio\12.0_Config</path>
  </entry>
  <entry>
    <record>24</record>
    <time>2014/08/07 05:50:43.442</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>AppId starting registry detouring</description>
  </entry>
  <entry>
    <record>25</record>
    <time>2014/08/07 05:50:43.744</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Entering function CVsPackageInfo::HrInstantiatePackage</description>
    <guid>{00CD9DDA-7350-457C-A240-71BD667FC4DE}</guid>
  </entry>
  <entry>
    <record>26</record>
    <time>2014/08/07 05:50:43.744</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Begin package load [Task Scheduler Package]</description>
    <guid>{00CD9DDA-7350-457C-A240-71BD667FC4DE}</guid>
  </entry>
  <entry>
    <record>27</record>
    <time>2014/08/07 05:50:43.761</time>
    <type>Information</type>
    <source>Package Framework</source>
    <description>Initialized ServiceProvider.GlobalProvider from SetSite.</description>
  </entry>
  <entry>
    <record>28</record>
    <time>2014/08/07 05:50:43.769</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>End package load [Task Scheduler Package]</description>
    <guid>{00CD9DDA-7350-457C-A240-71BD667FC4DE}</guid>
  </entry>
  <entry>
    <record>29</record>
    <time>2014/08/07 05:50:43.800</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Entering function CVsPackageInfo::HrInstantiatePackage</description>
    <guid>{5E56B3DB-7964-4588-8D49-D3523AB7BDB9}</guid>
  </entry>
  <entry>
    <record>30</record>
    <time>2014/08/07 05:50:43.800</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Begin package load [Environment Package Window Management]</description>
    <guid>{5E56B3DB-7964-4588-8D49-D3523AB7BDB9}</guid>
  </entry>
  <entry>
    <record>31</record>
    <time>2014/08/07 05:50:43.821</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>End package load [Environment Package Window Management]</description>
    <guid>{5E56B3DB-7964-4588-8D49-D3523AB7BDB9}</guid>
  </entry>
  <entry>
    <record>32</record>
    <time>2014/08/07 05:50:43.827</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Entering function CVsPackageInfo::HrInstantiatePackage</description>
    <guid>{2DC9DAA9-7F2D-11D2-9BFC-00C04F9901D1}</guid>
  </entry>
  <entry>
    <record>33</record>
    <time>2014/08/07 05:50:43.828</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Begin package load [Visual Studio Logging Package]</description>
    <guid>{2DC9DAA9-7F2D-11D2-9BFC-00C04F9901D1}</guid>
  </entry>
  <entry>
    <record>34</record>
    <time>2014/08/07 05:50:43.828</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Loading UI library</description>
    <guid>{2DC9DAA9-7F2D-11D2-9BFC-00C04F9901D1}</guid>
    <path>C:\Program Files (x86)\Microsoft Visual Studio 12.0\\Common7\IDE*\VsLogUI.dll</path>
  </entry>
  <entry>
    <record>35</record>
    <time>2014/08/07 05:50:43.837</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>End package load [Visual Studio Logging Package]</description>
    <guid>{2DC9DAA9-7F2D-11D2-9BFC-00C04F9901D1}</guid>
  </entry>
  <entry>
    <record>36</record>
    <time>2014/08/07 05:50:44.234</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Entering function CVsPackageInfo::HrInstantiatePackage</description>
    <guid>{F384B236-B4A9-401B-BC58-3106E3ACA3EC}</guid>
  </entry>
  <entry>
    <record>37</record>
    <time>2014/08/07 05:50:44.235</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Begin package load [Shell Common UI Package]</description>
    <guid>{F384B236-B4A9-401B-BC58-3106E3ACA3EC}</guid>
  </entry>
  <entry>
    <record>38</record>
    <time>2014/08/07 05:50:44.243</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>End package load [Shell Common UI Package]</description>
    <guid>{F384B236-B4A9-401B-BC58-3106E3ACA3EC}</guid>
  </entry>
</activity>

执行devenv /resetsettings启动,一切正常。再次重新启动依然crash。

使用WinDbg启动Visual Studio 2013,查看完整的异常信息:

0:000> !pe
Exception object: 04002cf0
Exception type:   System.InvalidOperationException
Message:          Dispatcher processing has been suspended, but messages are still being processed.
InnerException:   <none>
StackTrace (generated):
    SP       IP       Function
    00AEC540 60695D91 WindowsBase_ni!System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)+0x27aa11
    00AEC58C 6041C75B WindowsBase_ni!MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)+0x9b
    00AEC5C8 6041C6AB WindowsBase_ni!MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)+0x6b
    00AEC5D8 6041C562 WindowsBase_ni!System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)+0x52
    00AEC5F8 6041C49A WindowsBase_ni!MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)+0x3a
    00AEC63C 6041AABE WindowsBase_ni!System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)+0x10e
    00AEC690 6041BFF1 WindowsBase_ni!MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)+0xf1

StackTraceString: <none>
HResult: 80131509

非托管call stack:

0:000> kb
ChildEBP RetAddr  Args to Child              
00aec3c0 73fb2a42 e0434352 00000001 00000005 KERNELBASE!RaiseException+0x6c
00aec464 73fb337f 00000000 8a7460ab 0008060a clr!RaiseTheExceptionInternalOnly+0x276
*** WARNING: Unable to verify checksum for C:\Windows\assembly\NativeImages_v4.0.30319_32\WindowsBase\025b365df0afb7ad237ce25d00ca17c5\WindowsBase.ni.dll
00aec538 60695d91 00000000 00000000 03a4dbdc clr!IL_Throw+0x13e
00aec574 6041c75b 03a4f850 00000000 000010f0 WindowsBase_ni+0x335d91
00aec5b0 6041c6ab 03a4f850 00000000 000010f0 WindowsBase_ni+0xbc75b
00aec5d0 6041c562 00000001 03a436b4 03a4db88 WindowsBase_ni+0xbc6ab
00aec5e8 6041c49a 00000001 03a4f838 00000000 WindowsBase_ni+0xbc562
00aec624 6041aabe 00000000 00000001 03a4f838 WindowsBase_ni+0xbc49a
00aec674 6041bff1 00000001 03a4f838 03a4f818 WindowsBase_ni+0xbaabe
00aec6f0 768177d8 0008060a 0000003d 000010f0 WindowsBase_ni+0xbbff1
00aec71c 768190e7 02e130e2 0008060a 0000003d USER32!InternalCallWinProc+0x23
00aec798 76817b6f 02e130e2 02e130e2 00000000 USER32!UserCallWinProcCheckWow+0xdb
00aec7fc 76817c44 01249930 00000000 0000003d USER32!DispatchClientMessage+0x15d
00aec838 77a32c22 00aec850 00000000 00aec8e0 USER32!__fnDWORD+0x2b
00aec84c 01249930 00000000 0000003d 000010f0 ntdll!KiUserCallbackDispatcher+0x2e
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Windows\SysWOW64\combase.dll - 
WARNING: Frame IP not in any known module. Following frames may be wrong.
00aec8a0 775addf8 00aec934 000906dc 00000400 0x1249930
00aec8f0 775ae1fe 00aecad8 00aec934 000906dc combase!ClearCleanupFlag+0x852
00aec954 775abbe6 00aec974 00000001 00aec980 combase!ClearCleanupFlag+0xc58
00aec988 7765efc5 00aecad8 069983c0 00cc4d94 combase!PropVariantCopy+0x2137
00aecaa4 775ab7f3 00cc4d94 00aecbf8 00aecbe0 combase!NdrOleDllGetClassObject+0x12a9
00aecb5c 775e115d 00cc4d94 00aecbf8 00aecbe0 combase!PropVariantCopy+0x1d44
00aecbb8 7765d39a 00cc4d94 00aecbf8 00aecbe0 combase!CoRegisterSurrogateEx+0x3494
00aecbd4 76c7bb46 069980d4 00aecc24 76cfb333 combase!NdrExtStubInitialize+0x21a9
00aecbe0 76cfb333 8e517dd4 00c8efc0 00aed030 RPCRT4!NdrpProxySendReceive+0xe
00aecffc 7765c779 77565430 7756a956 00aed030 RPCRT4!NdrClientCall2+0x20c
00aed018 77570d77 0000000c 00000008 00aed0b8 combase!NdrExtStubInitialize+0x1588
00aed028 775e16d5 069980d4 00aed068 8000ffff combase!DcomChannelSetHResult+0xe1a
00aed0b8 775e1995 00c8efc0 775e17bc 00000302 combase!CoRegisterSurrogateEx+0x3a0c
00aed118 775e21bc 7766ebb0 00000302 77565134 combase!CoRegisterSurrogateEx+0x3ccc
00aed154 7758730e 7766ebbc 00aed4f0 00aed170 combase!CoRegisterSurrogateEx+0x44f3
00aed174 77586d52 7766ebbc 00000001 00000000 combase!CoDisableCallCancellation+0xca3
00aed194 775872cf 7766ebbc 00aed4f0 00000000 combase!CoDisableCallCancellation+0x6e7
00aed1cc 775873a9 7766ebbc 00aed4f0 00000000 combase!CoDisableCallCancellation+0xc64
00aed1fc 77584fdf 7766ebbc 00000000 00000000 combase!CoDisableCallCancellation+0xd3e
00aed23c 775850d7 00aed694 00000000 00aedcac combase!ObjectStublessClient22+0x16df
00aed49c 77584fdf 7766ebb8 00000000 00aed694 combase!ObjectStublessClient22+0x17d7
00aed4dc 77585ba6 00aed694 00000000 00aedcac combase!ObjectStublessClient22+0x16df
00aedd88 7757c9c2 00000000 00000001 00000000 combase!ObjectStublessClient22+0x22a6
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Program Files (x86)\NVIDIA Corporation\CoProcManager\nvd3d9wrap.dll - 
00aedddc 6a082e60 64981fa8 00000000 00000001 combase!CoCreateInstance+0x169
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Windows\SysWOW64\UIAutomationCore.dll - 
00aede04 64981f66 64981fa8 00000000 00000001 nvd3d9wrap!initialise+0x1802
00aede34 64996c9e 76810000 76f7e7d6 00aedf98 UIAutomationCore!DllCanUnloadNow+0x1b4
00aede48 649a767e 00aede6c 649a7001 00d06de0 UIAutomationCore!UiaReturnRawElementProvider+0xb061
*** WARNING: Unable to verify checksum for C:\Windows\assembly\NativeImages_v4.0.30319_32\UIAutomationTypes\30caed6dd3390553adf0d78426beb375\UIAutomationTypes.ni.dll
00aede70 5d4dc3ed 00000001 00aedf98 8ad68e6c UIAutomationCore!UiaLookupId+0x67d
00aedeb0 5d4dc6e9 00cc8f54 00000000 00000000 UIAutomationTypes_ni+0x1c3ed
00aedf90 5d4e0bff d976c2fc 4a6e66ea 4cc28fb2 UIAutomationTypes_ni+0x1c6e9
00aedfd8 73e63de2 00d06de0 00aee038 73e73315 UIAutomationTypes_ni+0x20bff
00aedfe4 73e73315 00aee098 00aee028 73fb2c66 clr!CallDescrWorkerInternal+0x34
00aee038 73e7e214 8a7445ef 5d4c56d0 00aee104 clr!CallDescrWorkerWithHandler+0x6b
00aee07c 73e7e24f 00000000 5d4e97ec 5d4e97ec clr!DispatchCallDebuggerWrapper+0x59
00aee0b8 73e7e31d 5d4c56d0 00000002 8a7444bf clr!DispatchCallSimple+0x68
00aee12c 73e7e3c2 00aee1bc 8a74438b 00000010 clr!MethodTable::RunClassInitEx+0xbf
00aee618 73e7e18f 8a744333 04a4d7e8 00000010 clr!MethodTable::DoRunClassInitThrowing+0x453
00aee6a0 73e7e1eb 0400176c 0000003f 0000003f clr!JIT_GetSharedGCStaticBase_Helper+0x85
*** WARNING: Unable to verify checksum for C:\Windows\assembly\NativeImages_v4.0.30319_32\PresentationCore\dfa608e0b590b73f324ed9b2ff2a3899\PresentationCore.ni.dll
00aee6b8 5fa71b27 05b46420 00000004 00000000 clr!JIT_GetSharedGCStaticBase_Portable+0x30
00aee988 5fa71a62 03a4dbdc 00000000 00000000 PresentationCore_ni+0x1a1b27
00aee9b0 73e63de2 00d06de0 00aeea10 73e73315 PresentationCore_ni+0x1a1a62
00aee9bc 73e73315 00aeea70 00aeea00 73fb2c66 clr!CallDescrWorkerInternal+0x34
00aeea10 73e7e214 8a744fc7 5fa719f8 00aeeae0 clr!CallDescrWorkerWithHandler+0x6b
00aeea54 73e7e24f 00000000 5fb0c23c 5fb0c23c clr!DispatchCallDebuggerWrapper+0x59
00aeea94 73e7e31d 5fa719f8 00000002 8a744e9b clr!DispatchCallSimple+0x68
00aeeb08 73e7e3c2 00aeeb98 8a744a67 0000048d clr!MethodTable::RunClassInitEx+0xbf
00aeeff4 73e7e4be 8a7455ef 03bd7708 0000048d clr!MethodTable::DoRunClassInitThrowing+0x453
00aef07c 73e7e522 0400161c 04001364 00000017 clr!JIT_GetSharedNonGCStaticBase_Helper+0x85
00aef094 5fa5a555 0400161c 03bd7708 00aef0c0 clr!JIT_GetSharedNonGCStaticBase_Portable+0x2f
*** WARNING: Unable to verify checksum for C:\Windows\assembly\NativeImages_v4.0.30319_32\Microsoft.V412add50#\ce5e0d2f9aff38cac2a17df789c43339\Microsoft.VisualStudio.Shell.UI.Internal.ni.dll
00aef0a4 6088fde6 03bd7708 0400133c 5fa58698 PresentationCore_ni+0x18a555
00aef0c0 5fa5a591 04001404 00aef108 6088e246 Microsoft_VisualStudio_Shell_UI_Internal_ni+0xbfde6
00aef0cc 6088e246 04a4937c 04a4937c 03bd7968 PresentationCore_ni+0x18a591
00aef108 73e63de2 00d06de0 00aef168 73e73315 Microsoft_VisualStudio_Shell_UI_Internal_ni+0xbe246
00aef114 73e73315 00aef1ac 00aef158 73fb2c66 clr!CallDescrWorkerInternal+0x34
00aef168 73e76cdf 00000566 6096daa4 609713e4 clr!CallDescrWorkerWithHandler+0x6b
00aef1e0 73e7dda9 00aef39c 8a7457f7 607f4c6c clr!MethodDescCallSite::CallTargetWorker+0x152
00aef264 73ef0518 8a745647 00000001 03bd76ec clr!TryCallMethod+0x4b
*** WARNING: Unable to verify checksum for C:\Windows\assembly\NativeImages_v4.0.30319_32\mscorlib\391541c89ed7585fc7e8936c43cee387\mscorlib.ni.dll
00aef3d4 72d6c1f2 00aef3f4 00aef3f8 00aef3f0 clr!RuntimeTypeHandle::CreateInstance+0x37b
00aef408 72d6c169 00aef454 00000001 00000000 mscorlib_ni+0x2ec1f2
00aef43c 72d6e2c4 00aef454 00000001 00000000 mscorlib_ni+0x2ec169
00aef45c 72dce657 6088dd33 03bd76cc 03bd76bc mscorlib_ni+0x2ee2c4
00aef474 6088db84 03bd76dc 00000000 00000000 mscorlib_ni+0x34e657
00aef4f4 73e6421e 00aef630 06456438 05bb1ad8 Microsoft_VisualStudio_Shell_UI_Internal_ni+0xbdb84
00aef528 73ef6fbf 02fc0710 60864030 00aef5c0 clr!COMToCLRDispatchHelper+0x6b
00aef598 61b520ad 00000000 02f6ffd0 06456438 clr!COMToCLRWorker+0x3e6
00aef5fc 61a31cf6 064579b8 05bb1ad8 06456438 msenv!Gel::CreateWPFUIElementContainer+0x4e
00aef644 61a31ed0 9deb64d5 621b9274 06456438 msenv!CreateWpfMainFrame+0x81
00aef674 61a31e37 9deb6405 621b9274 621b9258 msenv!CreateMainFrame+0x50
00aef6a4 61b89114 9deb647d 00000000 621b9258 msenv!InitMainMenuWindow+0x10d
00aef6dc 61b89b08 9deb6449 00000000 619f0000 msenv!InitUIThread+0xfa
00aef72c 61b0ac88 9deb6599 00000000 619f0000 msenv!InitFMain+0x367
00aef7c0 61a55c7f 9deb6549 00c8a568 619f0000 msenv!VStudioMainLogged+0xcb
00aef7e8 2f8eb74a 00c89fc8 d7034b7f 00c8a568 msenv!VStudioMain+0x7c
00aef828 2f8ec0c7 d70349a7 75374b51 2f8fbdc4 devenv!util_CallVsMain+0xde
00aefaf0 2f902490 00000000 00c75ca4 0000000a devenv!CDevEnvAppId::Run+0x9bc
00aefb18 2f9024f5 2f8e0000 00000000 00c75ca4 devenv!WinMain+0xbd
00aefb64 753786e3 fe3c7000 00aefbb4 77a4be99 devenv!WinMainCRTStartup+0x12f
00aefb70 77a4be99 fe3c7000 8f3cbb7e 00000000 KERNEL32!BaseThreadInitThunk+0xe
00aefbb4 77a4be6c 2f8fcc31 fe3c7000 ffffffff ntdll!__RtlUserThreadStart+0x72
00aefbcc 00000000 2f8fcc31 fe3c7000 00000000 ntdll!_RtlUserThreadStart+0x1b

托管call stack:

0:000> !clrstack
OS Thread Id: 0xc44 (0)
Child SP       IP Call Site
00aec484 76f80f22 [HelperMethodFrame: 00aec484] 
00aec540 60695d91 System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
00aec58c 6041c75b MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
00aec5c8 6041c6ab MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
00aec5d8 6041c562 System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
00aec5f8 6041c49a MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
00aec63c 6041aabe System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
00aec690 6041bff1 MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
00aede84 02dba2cd [InlinedCallFrame: 00aede84] 
00aede80 5d4dc3ed DomainNeutralILStubClass.IL_STUB_PInvoke(AutomationIdType, System.Guid ByRef)
00aede84 5d4dc6e9 [InlinedCallFrame: 00aede84] MS.Internal.Automation.UiaCoreTypesApi.RawUiaLookupId(AutomationIdType, System.Guid ByRef)
00aedeb8 5d4dc6e9 System.Windows.Automation.AutomationIdentifier.Register(AutomationIdType, System.Guid, System.String)
00aedfa8 5d4e0bff System.Windows.Automation.InvokePatternIdentifiers..cctor()
00aee14c 73e63de2 [GCFrame: 00aee14c] 
00aee634 73e63de2 [HelperMethodFrame: 00aee634] 
00aee6c0 5fa71b27 System.Windows.Automation.Peers.AutomationPeer.Initialize()
00aee990 5fa71a62 System.Windows.Automation.Peers.AutomationPeer..cctor()
00aeeb28 73e63de2 [GCFrame: 00aeeb28] 
00aef010 73e63de2 [HelperMethodFrame: 00aef010] 
00aef09c 5fa5a555 System.Windows.Automation.Peers.UIElementAutomationPeer..ctor(System.Windows.UIElement)
00aef0ac 6088fde6 Microsoft.VisualStudio.PlatformUI.MainWindow.OnCreateAutomationPeer()
00aef0b8 5fa58698 System.Windows.UIElement.CreateAutomationPeer()
00aef0c8 5fa5a591 System.Windows.Automation.Peers.UIElementAutomationPeer.CreatePeerForElement(System.Windows.UIElement)
00aef0d4 6088e246 Microsoft.VisualStudio.PlatformUI.MainWindow..ctor()
00aef200 73e63de2 [GCFrame: 00aef200] 
00aef2f4 73e63de2 [GCFrame: 00aef2f4] 
00aef310 73e63de2 [HelperMethodFrame_2OBJ: 00aef310] System.RuntimeTypeHandle.CreateInstance(System.RuntimeType, Boolean, Boolean, Boolean ByRef, System.RuntimeMethodHandleInternal ByRef, Boolean ByRef)
00aef3ec 72d6c1f2 System.RuntimeType.CreateInstanceSlow(Boolean, Boolean, Boolean, System.Threading.StackCrawlMark ByRef)
00aef41c 72d6c169 System.RuntimeType.CreateInstanceDefaultCtor(Boolean, Boolean, Boolean, System.Threading.StackCrawlMark ByRef)
00aef450 72d6e2c4 System.Activator.CreateInstance(System.Type, Boolean)
00aef464 72dce657 System.Activator.CreateInstance(System.Type)
00aef468 6088dd33 Microsoft.VisualStudio.PlatformUI.WpfHostPrivate.CreateElementContainerInternal(System.String, IntPtr, System.Object)
00aef480 6088db84 Microsoft.VisualStudio.PlatformUI.WpfHostPrivate.CreateWPFUIElementContainer(System.String, IntPtr, Microsoft.VisualStudio.Shell.Interop.IVsUIElement, Microsoft.VisualStudio.Shell.Interop.IVsUIDataSource, System.Object, Microsoft.Internal.VisualStudio.Shell.Interop.IVsUIWPFElementContainerPrivate ByRef)
00aef4b8 02fc07b7 DomainNeutralILStubClass.IL_STUB_COMtoCLR(IntPtr, Int32, IntPtr, IntPtr, IntPtr, IntPtr)
00aef5b0 73e6421e [ComMethodFrame: 00aef5b0] 

注意到Visual Studio启动时会载入一个名为TaobaoProtectSE.dll,是阿里的反钓鱼程序,一个Packed Images加载到devenv.exe进程中。将对应注入监控的TaobaoProtect.exe关闭再次启动问题解决。

本来想bp USER32!PostMessageW来观察TaobaoProtectSE.dll到底发了什么消息,个人时间有限也就没再继续深究。

补充:

1、基于WPF 4.0开发的应用程序都受到影响。

2、Visual Studio 2010、Visual Studio 2012版本都未出现该问题,而TaobaoProtectSE.dll也同样注入到其进程。

posted @ 2014-08-07 15:13  junchu25  阅读(5230)  评论(6编辑  收藏  举报