Output a watched Visual Studio variable to a file

I think that my answer is pretty much the same as JamesPickrell's, but from the Immediate Window you could also do something like this:

My.Computer.FileSystem.WriteAllText("c:\temp.txt",history,True)

This would output the content of the "history" variable to a file called c:\temp.txt.


Thanks to Richard's answer, this is working for me.

System.IO.File.WriteAllBytes(@"c:\Temp\temp.txt", myVar);

Make sure that C:\Temp exists.

The reason for writing to a folder and not to the root C:\ is to avoid UnauthorizedAccessException when not running Visual Studio as administrator.


One way to do it would be to use the immediate window (menu Debug -> Windows -> Immediate). In the window that appears you can use the "?" to query the value of a variable.

Assuming your history variable is a string you view its contents by typing the following in the immediate window:

?history

You could copy and paste the output from there into a text file or alternatively ask Visual Studio to log all command window output. To do this type:

>log "c:\test.log"
>? history
>log off

Log is an alias for Tools.LogCommandWindowOutput and accepts the following parameters:

Tools.LogCommandWindowOutput [filename] [/on|/off] [/overwrite]

Check out the MSDN article Log Command Window Output Command for more information.