Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Copy object values in Visual Studio debug mode

People also ask

How do you copy an object in Visual Studio?

In Visual Studio debug mode it's possible to hover over variables to show their value and then right-click to "Copy", "Copy Expression" or "Copy Value". In case the variable is an object and not just a basic type, there's a + sign to expand and explore the object.

How do you copy debugging?

After drag-selecting the Debug Console contents, Edit->Copy only copies the visible parts instead of the entire selection.

How do I Debug COM objects in Visual Studio?

In visual studio if you open tools >> Options and then debugging >> General make sure the option "Use managed compatibility mode" it checked on. This should show com objects as their proper types in the debugger.


In the immediate window, type

?name_of_variable

This will print out everything, and you can manually copy that anywhere you want, or use the immediate window's logging features to automatically write it to a file.

UPDATE: I assume you were asking how to copy/paste the nested structure of the values so that you could either search it textually, or so that you can save it on the side and then later compare the object's state to it. If I'm right, you might want to check out the commercial extension to Visual Studio that I created, called OzCode, which lets you do these thing much more easily through the "Search" and "Compare" features.

UPDATE 2 To answer @ppumkin's question, our new EAP has a new Export feature allows users to Export the variable values to Json, XML, Excel, or C# code.

Full disclosure: I'm the co-creator of the tool I described here.


You can run below code in immediate window and it will export to an xml file the serialized XML representation of an object:

(new System.Xml.Serialization.XmlSerializer(obj.GetType())).Serialize(new System.IO.StreamWriter(@"c:\temp\text.xml"), obj)

Source: Visual Studio how to serialize object from debugger


There is a extension called Object Exporter that does this conveniently.

http://www.omarelabd.net/exporting-objects-from-the-visual-studio-debugger/

Extension: https://visualstudiogallery.msdn.microsoft.com/c6a21c68-f815-4895-999f-cd0885d8774f


Most popular answer from https://stackoverflow.com/a/23362097/2680660:

With any luck you have Json.Net in you appdomain already. In which case pop this into your Immediate window:

Newtonsoft.Json.JsonConvert.SerializeObject(someVariable)