VB.Net 2008 IDE hanging - MSVB7.dll eating 100% CPU when editing code
Edit 1: Uninstalled & Reinstalled Edit 2: Same problem. Seriously? Yes.
I am having a problem with msvb7.dll eating 50%+ cpu on my dual core system. This usually lasts 10-30 seconds or so, during which time the IDE is non-responsive.
This occurs when I do pretty much anything in the text editor, and can be replicated by simply adding blank lines to a function, and then deleting them. Or pasting some code. Or... lotsa stuff.
- SP1 installed
- I had DevExpress' refactor/coderush, components, and codeit.right installed, but have removed all 3 of them.
- (I had installed the latest version of Refactor Pro! (9.3.4), perhaps the day before)
- I have tried a VS.NET Repair.
- There is a kb that referenced some cpu destroying with vb, but it was included in SP1
Also:
- The solution consists of ~30 VB projects and 2 C# projects
- 8 other developers aren't having any issues with this (or at least not the SAME issues, we all have em)
- Clean get from TFS was done
- Project builds properly, can can even debug.
- This doesn't seem to happen on really small solutions, but perhaps it does and it just goes away super quick.
Any clues at all as to what might be causing this, or how to fix it? I REALLY don't want to lose another day uninstalling and reinstalling and patching and so on =) If that even fixes it.
Edit looking at these two hotfixes. Applied 957912, the first one
KB957912: Updates for Visual Studio 2008 SP1 debugging and breakpoints
KB967631: When you debug in Visual Studio 2008 Service Pack 1, more breakpoints are generated unexpectedly, or the IDE crashes or becomes unresponsive for about 15 seconds
Here is the stack trace (process explorer) that I get from the threads window when the msvb7.dll
is churning.
--- title in process explorer [threads] tab for process --------
cpu:49.28% cswitch delta: 300 to 3500 startaddress: [msvb7.dll+0x4218c]
开发者_如何学编程 msvb7.dll version: 9.0.30729.1
--- actual stack trace -------
ntkrnlpa.exe!KiUnexpectedInterrupt+0x121
ntkrnlpa.exe!ZwYieldExecution+0x1c56
ntkrnlpa.exe!KiDispatchInterrupt+0x72e
NDIS.sys!NdisFreeToBlockPool+0x15e1
// shortened stack trace. all of these are from msvb7,
msvb7.dll+0x46ce7 <- 0x2676a <- 0x2698e <- 0x38031 <- 0x2659f <- 0x26644
msvb7.dll+0x25f29 <- 0x2ac7a <- 0x27522 <- 0x274a0 <- 0x2b5ce <- 0x2b6e4
msvb7.dll+0x67d0a <- 0x68551 <- 0x6817b <- 0x681f0 <- 0x67c38 <- 0x65fa8
msvb7.dll+0x666c6 <- 0x6672c <- 0x6673d <- 0x6677c <- 0x667b4 <- 0x63c77
msvb7.dll+0x63e97 <- 0x42c3a <- 0x42bc1 <- 0x41bd7
kernel32.dll!GetModuleFileNameA+0x1b4
This is the list of stuff from "copy info" in help->about, shortened to a resonable length.
Microsoft Visual Studio 2008 | Version 9.0.30729.1 SP
Microsoft Visual Studio 2008 Professional Edition - ENU Service Pack 1 (KB945140) KB945140
Microsoft .NET Framework | Version 3.5 SP1
Microsoft Visual Basic 2008
Microsoft Visual C# 2008
Microsoft Visual F# for Visual Studio 2008
Microsoft Visual Studio 2008 Team Explorer | Version 9.0.30729.1
Microsoft Visual Studio 2008 Tools for Office
Microsoft Visual Web Developer 2008
Hotfix for Microsoft Visual Studio 2008 Professional Edition - ENU
KB944899, KB945282, KB946040, KB946308, KB946344, KB946581, KB947171
KB947173, KB947180, KB947540, KB947789, KB948127, KB946260, KB946458, KB948816
Microsoft Recipe Framework Package 8.0
Process Editor WIT Designer 1.4.0.0
Process Editor for Microsoft Visual Studio Team Foundation Server, Version 1.4.0.0
tangible T4 Editor 9.0
tangible T4 Text Template Editor - T4 Editor
tangibleprojectsystem 1.0
Team Foundation Server Power Tools October 2008
SQL Prompt 4.0 (disabled)
Use Process Monitor (http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx) and trace the activity of Visual Studio when it exhibits this behavior. I have done this many times before with great success.
I am actually monitoring Excel on startup to determine why Excel is having problems with a VSTO Add-in. It turns out Excel is trying to also load a previous version, so I have two add-ins loaded. I figured this out in less that a minute. Without Process Explorer I might have been troubleshooting for hours or days.
I've seen something similar happen when you have a circular reference in a specific way in a class. It's trying to show intellisense and ends up in an infinite loop trying to build the list. I don't remember the exact circumstances now, though.
Given up and wiped VS 2008 & all supporting software. Reinstalling now. It is fun to debug, but I had to cancel a meeting this morning because I couldn't get anything going.
If I get a job at MS then I'll look into it further... but this one is just too hard for me and my limp debugging skills leftover from years doing .net ;)
DOH! Reinstalled and it is still broke! I may actually have to solve this :(
@amissico: thanks, i had forgotten about that completely.
The problem is somewhere in the parsing thread, and I can't work out how to pinpoint what it is doing wrong. I see lots of FS activity, but nothing that I can identify as wierd. It just keeps building temp files (all the same name?) It just looks like it is doing everything everytime, the slow way. I don't know what it should look like, though.
Startup is fine, this is mostly happening when I edit files. It just starts chewing for intellisense, it appears, but why it takes so long is wierd.
精彩评论