With VS2013 Pro I am not able to use "Edit and Continue" when debugging an MFC program. I created a new MFC project to test.
OS is Windows 7 64-bit and I'm running Visual Studio 2013 12.0.30110.00 Update1.
Under Tools->Options->Debugging->Edit and Continue I have Enable Edit and Continue checked. I have unchecked it and checked it, but whenever I modify the code while debugging I get the following message:
The source file has changed. It no longer matches the version of the file used to build the application being debugged.
Basically I haven't changed any settings except for the tab sizes and I've set the keyboard mapping scheme to VC6.
What setting am I missing to enable edit and continue?
Edit and Continue is disabled for native code by default. To enable:
On the Tools menu, click Options.
In the Options dialog box, open the Debugging node, and select the Edit and Continue category.
In the Native-only options group, select Enable native Edit and Continue
Edit:
Steps to test native Edit and Continue is working:
Start VS 2013
Create a new MFC project:
FILE->New Project->MFC Application->OK.
Select Finish on the MFC Application Wizard.
Build and start debugging:
BUILD->Build Solution
DEBUG->Start Debugging
Break into the program:
DEBUG->Break all
Make a code change:
Open OutputWnd.cpp and find COutputWnd::OnSize (Line 80)
Insert this line at the start of the function: cx = cx / 2;
Continue execution:
DEBUG->Continue
Resize the application window to see the effect of the code change on the Output pane at the bottom. Its width should be half the required size.
Edit and continue is also a Setting for each project.
It must be set in the compiler options under C++ -> General -> Debug Information Format: "Program Database for Edit And Continue (/ZI)"
Also the linker settings must be changed. The linker has to use incremental linking. Linker -> General -> Enable Incremental Linking = Yes or (for VC 2012 users) C++ -> All Options -> Enable Function-Level Linking = Yes (/Gy)
For more information read the MSDN.
The last hint helped, but we had to
set "Image Has Safe exception handlers" = NO(/SAFESEH:NO)
in all projects of our solution!
I did all steps described above, but nothing helps (thanks all for it).
My solution was:
Project -> Properties -> Linker -> Advanced:
set
"Image Has Safe exception handlers" = NO(/SAFESEH:NO)
Apply, Ok, and Rebuild project.
Hope it helps.
For what it's worth I've been pulling my hair out on this one as well. I finally got edit and continue working by changing the following setting:
Project > Properties > Linker > All Options > "image has safe exception handlers".
It was set to No (/SAFESEH:NO). I went in and deleted it. I didn't set it to YES, or NO. I simply kept it blank. I would love to know what it means to be blank. But edit and continue is now working for me. Maybe it will help for you.
A project with a "Release Configuration" will disable Edit and Continue.
To change this
Open "Configuration Manager"
Change Configuration for the project from Release to Debug
Rebuild and debug project
Edit and Continue will also not work if your project's Platform Toolset is set to Visual Studio 2012 (v110), instead of the usual Visual Studio 2013 (v120).
This setting is in Project > Configuration Properties > General > Platform Toolset.
The solution of this problem is on the Microsoft Documentation...
If IntelliTrace is enabled and you collect both IntelliTrace events and call information, Edit and Continue is disabled.
On Visual studios' menu go on Tools>>options - Select "IntelliTrace" tab and let IntelliTrace events only checked.. Save, restart the visual studio and.......
Your Edit and Continue will work again!
I need to write a visualizer for some custom classes so I had a look at the autoexp.dat file.
If I make a change to a definition in this file I do not see this reflected in the debugger.
Has anyone else experienced troubles with the autoexp.dat file?
How can I overcome this?
Should I even be using it or should I be writing a .natvis file?
Thanks in advance
By default, Visual Studio 2012 ignores the contents of autoexp.dat. However, there is a workaround to force it to be used.
You can only do this while the debugger is not active. Inside Visual Studio, Click on TOOLS > Options > Debugging > Edit and Continue. There is an option to Enable native Edit and Continue--choose this option. This will disable the natvis files, and use autoexp.dat instead, as per the warning which appears.
The natvis file format appears to be more powerful, however, so if you are able to move to it, it may be worth your time to do so.
Copying autoexp.dat from Visual Studio 2010 to Visual Studio 2012 (Update 4) works just fine for me. Even with Edit and Continue disabled.
How do I add a shortcut to the places bar in Visual Studio 2012? I know I can add to the Favourites but can't find anywhere how to add it to the Visual Studio part.
You can do this by changing option under
Tools -> Options -> Project and Solutions -> General tab
Like below and it will look up in that folder
Hope it helps
I wass looking for quite some time now how I could see the file type icon of each file I have opened in visual studio 2012 tab well, like it was shown on previous versions of visual studio. This was completely removed from vs 12, couldn't find any option enabling this. This is something extemely usefull when having many open files.
I found that this option exists on the registry!
So you go here:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\DialogPage\Microsoft.CustomDocWell.Options
and change the IconInTabs property from false to True!
File type icons are displayed again next to each tab!!!!
Edit: In order for this to work you must have installed Productivity Power Tools 2012 plugin
I played with Visual Studio builtin profiling tools and now every time I check out any file this section automatically adds to my solution file:
GlobalSection(Performance) = preSolution
HasPerformanceSessions = true
EndGlobalSection
I totally removed all profiling reports, then removed local copy of all source control files from this solution and update to latest. This section still in *.sln file after any checkout.
Other teammates who haven't used prfiler doesn't have this problem.
Has anyone any ideas?
Open the PerformanceExplorer in Visual Studio by using the Menu Analyze -> Windows -> PerformanceExplorer and check if it lists any session entries.
If so delete them by doing a right-click on an entry to open the ContextMenu. Then select "Remove" from the menu.
You should also check the folder of your solution if it contains any .vsp or .psess files and delete them. These are the report files of a profiling session.
Only way I could solve this was to close the solution, delete *.psess and *.vsp files from the root directory, reset my .sln file to the remote version and reopen the solution. Problem was then gone. This was using Visual Studio 2015 Community Edition.