Resharper throws OutOfMemoryException on big solution - c#

IDE Configuration:
Visual Studio 2008 + Resharper 4.5.1 + Agent Smith 1.1.8.
There is no any sophisticated configuration for last to add-ins.
Solution description:
33 class libraries + web site with 200+ pages.
Symptoms: After an hour of work under tuned on Resharper the IDE starts to throw the OutOfMemoryExection exceptions. Normal work is impossible only reopen Visual Studio can help.
Does anybody has such problem? Is it possible to configure Resharper to consume less memory? What Resharper feature does consume the most memory?

Welcome to the World of ReSharper. This lesson is called, "You get what you pay for".
Various features of ReSharper do require knowledge of your entire solution. This information takes memory. The solution-wide analysis may be the most memory-intensive, but even changing the signature of a public method requires knowing all the code that calls that method.
One thing you can do sometimes is to use smaller, "sub-solutions". If you are refactoring your DAL layer for instance, you only need the DAL and any unit test projects. What I sometimes do is to select the solution in Solution Explorer and use File->Save Solution As to save it with a different name in the same folder. I then remove projects until I'm left with those I want. Do not save the projects you're removing (save them before you start). When you've got the set you want, just do a Save All.
If it becomes too much of an annoyance, you can also get ReSharper to display the memory usage in the status bar. That feature has been available for a long time.

If you're on 64-bit Windows (or you're happy to run 32-bit Windows with the /3GB switch), then you can configure Visual Studio to be /LARGEADDRESSAWARE, which, rather than 2GB, will give it 4GB (or 3GB on /3GB) of address space to play with.
See, for example, http://old.stevenharman.net/blog/archive/2008/04/29/hacking-visual-studio-to-use-more-than-2gigabytes-of-memory.aspx, which gives the following:
editbin /LARGEADDRESSAWARE devenv.exe
Also, see the JetBrains page on the topic: http://www.jetbrains.net/confluence/display/ReSharper/OutOfMemoryException%2BFix

I have seen this and similar problems in the past with earlier versions of Resharper (and other similar add-ins) and large solutions, and is one of the reasons I try to stay away from them. The only solutions I know of were to restart Visual Studio, uninstall Resharper, or keep it turned off except for when you really need to use it.
For what it's worth, Visual Studio 2010 should help with these types of problems.

Related

Intellisense not working for unit test project in Visual Studio Professional 2017

I'm working on a Visual Studio solution using Visual Studio Professional 2017, the solution consists of four types of projects:
Several C++ projects
A C# project
Several C++ unit test projects
A C# unit test project
IntelliSense seems to be working for all, except for (at least) one of the C++ unit test projects, and it goes even further: for some tests inside that particular C++ unit test project, IntelliSense is working, but for some other, it isn't.
As mentioned in other Stackoverflow posts, I've already removed the *.cache files and there are no *.ncb files (so I can't remove them :-) ).
I also consulted the MSDN website, as proposed by Visual Studio:
Intellisense: 'No additional information available' (See 'Troubleshooting Intellisense in C++ Projects' for further help.)
I typed the mentioned sentence in MSDN search (learn.microsoft.com), and I got 229 results, which looked useless, and I got 0 results while searching for the exact phrase. :-(
Another approach : in my Visual Studio settings, I've maximised the messages, sent to the output window, I've rebuilt the whole solution, and afterwards I looked for the word IntelliSense in the output window. There was nothing. Then I typed something in order to launch IntelliSense, I verified the output window, but nothing was added.
In order to solve this problem, I need detailed information about IntelliSense itself:
I believe that IntelliSense is based on some files. Which ones?
I also believe that IntelliSense is keeping its own information in memory. Is this correct, is there a way to store this memory mapped information in files? If yes, which ones, and how can I force IntelliSense to refresh its information?
Whatever IntelliSense is doing (filling its information in memory, saving it in files, retrieving its information from those files, ...), what can I do in order to log those actions, so that I have an idea what might be going wrong?
In other words, does anybody have background information on the IntelliSense background task, which might explain what's going wrong, and how I can derive (from information in output window or other) what to do?
Thanks in advance
You can try resetting Visual Studio once
Devenv /ResetSettings
Sometimes Visual Studio has these gnawing bugs that just stresses you out for no reason.
Remove the hidden .vs folder from your solution. That would trigger index rebuilding.
Also you can try to install recent update for Visual Studio 2017, they seem to work actively on improving the indexing.

Quick Actions and Refactorings not working in VS2015 Pro [duplicate]

My installation of Visual Studio was fine previously, but has started acting weird lately. Some of the symptoms include
Visual Studio randomly hangs or crashes
Visual Studio won't start
Intellisense disappears sometimes
Plugins are not working, or are failing to start
I can't install or uninstall tools
I can't connect to source control anymore
Certain known good project types fail to load properly
Known file types don't have syntax highlighting anymore
I can't add files to a solution because the option is greyed out
I can't add, remove, or update files to a solution due to an error
I can't add or remove projects to a solution due to an error
I can't open a solution due to an error
The debugger cannot launch, or attach to processes
I can't find any templates when I try to add a new item
I can't copy/paste due to an error
A DLL required by Visual Studio is missing or corrupt
Menus are suddenly empty
Something that I know should normally work, now does not work
How can I fix this?
(This question is meant to be a canonical close dupe for these types of questions)
Visual Studio is pretty reliable, and most of us using it aren't experiencing the issues you are. It's a pretty large and complex suite of components, though, which means problems are bound to occur.
First: Restart Visual Studio and, if that fails, restart your computer
The majority of small issues are fixed by restarting Visual Studio. Some of the ones involving connectivity or services can be fixed by restarting your computer.
If this doesn't fix your problem
There's no way to guarantee that something bad won't happen to a particular installation of Visual Studio. The ways a large, complex application can become misconfigured or damaged are too varied to mention.
The effort it would take to diagnose and track down every possible cause is great. Ain't nobody got time for that. The one reliable solution—which works almost every time it's tried—is:
Reinstall Visual Studio.
Go ahead, rest your eyes for a little bit. Come back when you've come to terms with this sad fact.
…
Resigned? Okay. We're going to go through the steps to fix your problem, starting with the lowest impact, but probably least likely to work, one first. While you are attempting to fix this, keep notes! Mentally, or write them down. If you get to the last step, you'll need them.
First, let's go the easiest route and return Visual Studio to its original state. We can do this by removing all extensions and by resetting all settings.
Open the "Extensions and Updates" dialog. If you can't find it, type that into the quick launch. If you can't find that, try ctrl-q. For each installed extension, highlight it and click the Uninstall button.
Next, let's reset those settings. Make sure you export them first!
From the docs:
To export your settings
1. On the menu bar, choose Tools, Import and Export Settings. Choose the Export selected environment settings option button, and then
choose the Next button.
2. Make sure that the check boxes for the kinds of settings that you want to export are selected and all other check boxes are cleared, and
then choose the Next button.
3. (Optional) Name your settings file, enter a different path where it should be saved, or both. By default, setting files are named
Currentsettings.vssettings and saved to %USERPROFILE%\Documents\Visual
Studio 2015\Settings.
4. Choose the Finish button.
You can import them later from the same location. Now, once you've saved your settings, go back and reset them.
Tools -> Import and Export Settings... -> Reset all settings
Having reset everything, try to repro your issue. Still breaking?
Heck.
There's no doubt that you need to reinstall. Let's go the easiest route and do a repair. Do the following:
Go to Control Panel > Programs > Programs and Features
Select Microsoft Visual Studio [whatever edition] [whatever year]
Click "Change"
Click "Repair"
After you've done this, try to repro your issue. Did it still happen?
Damnit, sorry.
If you want to try a different way, you may be able to do an "overlay" reinstall. Simply run the installer directly and select "install" (if this option is available to you). You can use your original media, but I'd strongly suggest you re-download the installer. This will overlay a new version over the old, without messing up your settings. After reinstalling, try to repro. Did it?
Aw hell. Here we go.
You need to try uninstalling/reinstalling. First, though, you might want to export your settings. You should have done this for step one of this answer, but if you didn't, go back and follow the instructions to do it now.
After saving them, repeat steps 1 and 2 (from the repair instructions) and this time select "Uninstall" instead of "Change". If your issue has to do with an external component, search for it in the list of other installed applications and uninstall it as well. If you're paranoid, uninstall everything Visual Studio related. They may be out to destroy you.
Now, reinstall Visual Studio. If you've found yourself at this point, you're in deep, so don't risk installing from your original media. Download a fresh, fully updated copy from where you originally got it. For example, if you got Visual Studio via your MSDN subscription, go there and download the ISO.
Now, having reinstalled everything, try to repro. Did it happen again?
F##&ing s#!t.
Now is the time to create a bug report. Go to Connect
https://connect.microsoft.com/VisualStudio/feedback/LoadSubmitFeedbackForm
Provide as much information as possible. You need to give them all the info they ask for in the form, plus details about the bug, how to repro it, and what you did to try and fix it. Remember those notes I told you to write down? Bust them out now. I'd strongly recommend you mark your issue public, as it may be found and commented on by others with your problem.
Within a day you'll get a response. They will probably want you to turn on Visual Studio logging and repro the issue. I won't tell you how to do this here, as they will give you exact instructions for the version of Visual Studio you are running. Follow them and reply as soon as you can.
There will be one of three outcomes from this process:
They will tell you that you're doing it wrong
They will discover an outside actor causing the issue
They will discover a bug
For #1, stop doing that, and you're done. For #2, they'll probably tell you to uninstall the bad actor (e.g., remove a plugin) and go tell the people responsible about the bug (don't slack--do it). For #3, they'll triage the bug and it will be fixed sometime later. It's likely they will suggest workarounds that will at least get you moving again, if it's a true bug.
And that's it. Now, go forth and reinstall Visual Studio!

visual 2013 ultimate: go to declaration is not available

I have used go to declaration to view the source code of objects/methods that are declared in the other projects within the same solution. It has been worked great. Suddenly, the go to declaration option is not available after I highlighted the method, and I don't see it in the content menu.
Note
1) I always reboot the machine every day
2) I have been working on the same project for the past few weeks. I have been working on the same solution file before and after go to declaration menu is gone
I did make a lot change on the solution. I recompiled the object so many times. Not sure, if I accidentally cause any problem
Right now, I have to traverse to different project in the solution to find the source code. I can also put the break point. Once the program stops at that break point, I can step into the code.
More about the project, many objects/classes and defined in the other projects. Technically, they are external DLL. I know how to debug external dll, but it is cumbersome. Therefore, I include those projects in the solution (actually, the developers at my show include most of them. Then I included more). Go to definition always navigates back to metadata, but go to declaration will go back to the actual code. It is a wonderful tool, but I cannot see it anymore in the past few days.
Any thing I can do to revive this menu. Oh, I did try ctrl-f12. It does not work
Thanks
Ok
I finally figured out what happened. It was resharper that was causing the problem. What happened was I had to change my machine 3 weeks ago. I slowly installed more and more software. Then I applied the product key. Then one day, the go to declaration disappeared. I did not even notice that
Intellisense and code suggestion not working in Visual Studio 2012 Ultimate RC
The above link is the long thread that has various resolutions. Different people may encounter different issues. I have tried various resolutions (restart the visual studio, etc), and none of them work.
Resharper->Options->IntelliSense->General Set to 'Visual Studio native IntelliSense
This one works for me. Oh, you need to get your R# license to have this feature turn on

VS 2015 High CPU Usage on File Save

With Visual Studio 2015 I have noticed that if I have multiple solutions open with a common project to all solutions, if I so much as edit and save one .cs file belonging to the common project, all Visual Studio 2015 instances will consume CPU for 10-15 seconds. Note that the common project is fairly large.
I don't recall this happening with Visual Studio 2013. It is common in my workflow to have 8-9 instances of Visual Studio open all with solutions referencing the common project, so I feel as though I would have noticed this behavior with Visual Studio 2013 (my development machine has 32 GB of RAM which makes this type of workflow possible).
I have tried:
Disabling CodeLens
Uninstalling ReSharper
Disabling the four C# Intellisense features found in Tools->Options
Temporarily Disabling Static Code Analysis Solution Wide (for all loaded solutions)
I also launched a separate instance of Visual Studio 2015, enabled Microsoft Symbol Servers and profiled (via Debug-> Profiler-> Performance Explorer -> Attach/Detach) an offending Visual Studio instance while it was consuming High CPU.
This image shows the profiler summary and you can see from the graph high CPU usage between ~12s and ~27s.
84.46% of the samples were in Thread::intermediateThreadProc, and the majority were exclusive samples, but of the inclusive samples, it appears as though it was doing some sort of code analysis.
With this information I assume that some sort of background code analysis is being performed with all Visual Studio 2015 instances (including those in the background). Does anyone know how to disable this? Or if my assumption is incorrect, any other suggestions?
Update 9/12/2015
Interestingly, if I perform the same profiling with ReSharper 9.2 installed, I get a similar result, but with JetBrains.Platform.Satellite.exe at the root of the "Hot Path" (instead of devenv.exe).
Update 10/11/2015
I believe this is the issue:
How to disable real time compilation in Visual Studio 2015
Is there a way to disable real time compilation on save? Or at least have it not be so intrusive? The operation most likely to follow "Save" is "Build", and because all of the visual studio instances are recompiling their respective solutions (without being asked), the "Build" operation in the active solution is severely hindered.
Found here (http://www.itgo.me/a/x8021838007883560399/how-to-disable-real-time-compilation-in-visual-studio-2015) :
"go to tools, options, text editor, C#, Advanced and uncheck Enable full solution analysis. This should stop your problem as the solution won't be checked every time unless you build it."

ReSharper slowing down VS 2010

I love the ReSharper features but when I installed it onto my project on my laptop VS2010 is running a lot (read unusable) slower:
Stats are
Windows 7
4GB RAM
Intel 2 Core Duo # 2.00GHz
VS 2010
ReSharper 6.1
32 Bit Architecture
I'm assuming this should be enough to run the program so possible reasons I can think of are
other plugins causing conflicts / overloading VS
too many ReSharper errors (it's old code so will need cleaning)
Does anyone else have suggestions as to what this could be?
EDIT: the solution is 15 separate projects with 20 - 30 cs files. Some are very large (antlr generated)
EDIT: After turning off the 'solution wide analyse feature' the memory usage is down to 500Mb and it's running fine.
I sometimes need to open old projects where there are many big files with resharper errors.
My solution is to exclude these files from the resharper analysis ("Edit items to skip" under the Code inspection settings).
I lose some intellisense but VS becomes usable again. If I need to do a lot of work in one of these big files I enable them one by one.
ReSharper tends to bloat memory usage of Visual Studio (check devenv.exe under the Processes tab in Task Manager). If you have a solution containing many projects, and are running lots of other things on your PC you may find that memory is being swapped to disk a lot.
Possible solutions:
Get more RAM
Run fewer programs at once
For me I was using Resharper with Visual Studio 2013 with 30+ projects, and even disabling solution-wide analysis in addition to Ultimate Guide were not good enough in total. I have 16GB RAM - so memory was probably not the issue.
Resharper does not scale up that well with increasing number of projects.
How I fixed those issues were (in addition to the Ultimate Guide (suggestions there are great))
Unload any projects that are not directly related
Edit items to skip as Adrianm suggested
Go to Resharper Menu => Options => CodeInspection => Inspection Severity. Go to your programming language (C# for me). Among the options there you will see many inspection severities for different issues (a few hundreds). Most of them I did not care, some of them I used very frequently. I set the severity to "Do not show" for many of the severities that I did not care.
Since Resharper also had reduced performance after a while, and I really had some suo settings that I liked in my solution (some less frequent projects unloaded, debug exceptions enabled etc.), I took a backup of them. First delete the suo file (user settings) in the solution folder. After that set the settings you want in Visual studio, and click save all. After that take a backup for that suo file. Every time resharper slows, if suspend/resume does not help, I close the solution, delete the current suo file, restore the suo file from the backup and start the solution back again.
All those steps now are providing me a very good pleasant Resharper performance with my Visual studio. It helps to invest as early as you can. Especially for item 3 when you think about it you are actually running many checks in parallel that you do not care about.
I know this is an older thread - yet the portions I wrote here are kind of independent from Visual Studio and Resharper version and I could not find this anywhere else on the web.
Hope it helps to anyone seeing similar performance issues with Resharper.
Edit 1: Btw - once you have that working it helps to get a backup of the resharper settings in case they get lost. If you are sharing the project among multiple developers, putting it to git/SVN might be a good idea as well.

Categories

Resources