我正在尝试调查崩溃转储中的错误(所以我不能更改代码)。我有一个非常复杂的对象(序列化表示中有数千行),而且它的状态不一致。要调查其状态,Visual Studio调试器视图是无用的。但是这个对象有一个数据契约。我想序列化它,然后使用我最喜欢的文本编辑器在对象中导航。是否可以在调试器中执行此操作?
发布于 2015-07-03 14:32:01
不久前,我编写了这段代码,将对象序列化为磁盘上的文件。将其复制/粘贴到即时窗口,并用您的对象替换obj
(它被引用了两次)。它会将一个text.xml
文件保存到c:\temp
,根据你的喜好改变它。
(new System.Xml.Serialization.XmlSerializer(obj.GetType())).Serialize(new System.IO.StreamWriter(@"c:\temp\text.xml"), obj)
不要期望有什么神奇的东西,如果对象不能被序列化,它将抛出一个异常。
发布于 2014-04-29 18:30:31
如果幸运的话,你的应用程序域中已经有了Json.Net。在这种情况下,将这段代码弹出到即时窗口中:
Newtonsoft.Json.JsonConvert.SerializeObject(someVariable)
发布于 2015-02-21 16:13:51
下面是一个Visual Studio扩展,它可以让你做到这一点:
https://visualstudiogallery.msdn.microsoft.com/c6a21c68-f815-4895-999f-cd0885d8774f
您可以输出到JSON、XML或C#。
https://stackoverflow.com/questions/18794264
复制相似问题