I am trying to get Visual Studio to stop on a breakpoint anytime a variable I am calling it accessed.
For example:
float someNum=0;
is initialized but never changed. If I say,
float someOtherNum=someNum;
OR
someFunction(someNum);
How can I have Visual Studio stop at this reference? Should I be using breakpoints for this or is there some other tool that Visual Studio has?
Please not the reason that I am not just looking for "someNum" is because it is simplified from someObject->someOtherObject->someNum and there are lots of calls with different structures accessing this variable.
Edit:
I have used the visual studio Data Breakpoint. This does not seem to be a solution to my problem as the Data Breakpoint seems to be reliant on changing the value of the variable and not just when the memory is accessed for its variable.
You can use a watchpoint in VS. Here is a link to a tutorial: http://www.youtube.com/watch?v=JPBnbhbVFjY
Related
I am using Visual Studio 2010 Version 10.0.40219.1 SP1
Recently I installed VS 11 Developer preview and since when my existing VS 2010 has been giving me some problems.
I have created a small console application in C# that makes use of .NET 4.0, nothing fancy - basically it creates a string variable and writes it to the console. This has nothing to do with code, but rather Visual Studio. Because of the following that happens afterwards:
I am unable to view any information about the variable when debugging within Visual Studio. When I start the debugger (which is in debug mode), the application starts and breaks at the given break point but, when it breaks, I am unable to view any information about any variable (view the value of the string value).
Even when I drag the variable into the Watch window it states the following:
Unable to evaluate the expression.
Why is this and how can I fix this?
I managed to solve the issue by re-installing VS 2010.
Many thanks for all the feedback!
I have the following problem with design-time debugging in Visual Studio 2010 Pro.
In my solution I have got two libraries. One with name Alfa that contains some of my basic components. Two with name AlfaDesign that it contains designers for components from library Alfa. And of course I have a project for developing and testing Alfa components.
AlfaDesign is having reference to Alfa library. And the test project is having a reference to Alfa and AlfaDesign.
And my problem:
When I put breakpoint in component's constructor from the Alfa library and then I put this component on the form in my testing project, the debbuger is doesn't break. Visual Studio is still running.
I followed instruction from the tutorial Walkthrough: Debugging Custom Windows Forms Controls at Design Time, but without any success.
I ran into this problem today with one of my projects, and I spent the last several hours figuring it out. What I found is that the symbols and modules will not load when your project target framework is set to anything less than .NET 4 when doing an F5 debug. Switching the projects to .NET 4 does fix this weird behavior, but you may not want this for .NET 2 applications that you don't want to use the newer runtimes/BCL.
However, you can still correct this behavior. You can run manually use Debug -> Attach To Process and select devenv.exe and that will load the modules and symbols. So, you can either have a second instance of Visual Studio 2010 already open and simply attach, or you can run it on debug (Run External Program), Detach, and Re-attach to get the modules to load.
I thought this was something wrong with my environment settings, because my install of Visual Studio is very customized, so I thought there might have been some sort of setting, conflict, or file difference, but it seems to just be a weird behavior in the Visual Studio 2010 debugger. I would be curious to see if anyone from the Visual Studio 2010 team could investigate this a bit further.
If the breakpoints are properly resolved, then it must hit properly.
Please check the following.
Is the breakpoint resolved properly or not. If it's properly resolved, it will be displayed in red during debugging sessions. Otherwise the red will turn into a disabled state (with a yellow exclamation mark with a grayed circle).
Why don't you put a breakpoint where the object is being constructed and debug through it? So that you can ensure that your construction code is working well. You can step through (F11) to get inside the constructor.
I have a member variable struct in a C++ class I'm debugging in Visual Studio 2008 Professional. I would like to break any time the struct changes. Is it possible to do this, or must I look for every possible point in the code it could change, and set breakpoints there?
If you can determine the address of the member, you can set a data breakpoint on it:
https://msdn.microsoft.com/en-us/library/5557y8b4.aspx#BKMK_Set_a_data_change_breakpoint__native_C___only_
In Visual Studio 2010 sometimes when I want to get the value of a variable while debugging, it tells me that it "does not exist in this context" when it obviously does.
I have found that if I use the variable, as in the screenshot below, then it is able to show it.
Has anyone experienced this? Visual Studio 2008 never did this.
How can I get Visual Studio 2010 to always show me variable values while debugging?
alt text http://www.deviantsart.com/upload/jcnr1s.png
Hazarding a guess..
Could it be that your running in Release mode and the variable has been optimized out? Once you actually use the value, then it no longer can optimize the value out?
Is GetListOfFileNames() deferring execution? Try tacking .ToList() on it.
Using visual studio 2008, I had a solution open and realized I need to install another program that the project I was working on used. I did this with visual studio open and attempted to debug the program, however the environment variables added by the program I installed were not visible. I could not get them to refresh until I exited VS and reloaded the solution. Is there a way to get visual studio to "refresh" its environment variable list without exiting and reloading the solution?
As an additional note, I did use process explorer to look at the environment variables for the application and could confirm that it was not aware of the environment variable I needed.
Nope. Environment variable changes on Windows only take effect for new processes. You'll have to exit Visual Studio and restart it.
I don't think there's any way round this. You have to restart the VS process so it can pick up the changes to the environment.