我正在尝试调查一个崩溃转储文件中的错误(因此无法更改代码)。我有一个非常复杂的对象(序列化表示中有数千行),它的状态不一致。为了调查其状态,Visual Studio调试器视图无用。但该对象有一个数据契约。我想将其序列化,然后使用我喜欢的文本编辑器浏览整个对象。是否可以在调试器中完成这个操作?
我正在尝试调查一个崩溃转储文件中的错误(因此无法更改代码)。我有一个非常复杂的对象(序列化表示中有数千行),它的状态不一致。为了调查其状态,Visual Studio调试器视图无用。但该对象有一个数据契约。我想将其序列化,然后使用我喜欢的文本编辑器浏览整个对象。是否可以在调试器中完成这个操作?
以下是 Omar Elabd 的答案的变体 --
虽然不是免费的,但是 OzCode 有一个免费试用版
(https://marketplace.visualstudio.com/items?itemName=CodeValueLtd.OzCode).
在上下文/悬停菜单中内置了导出到 JSON 的功能,比 Object Export 扩展更好用(代价是它不是免费的)。
http://o.oz-code.com/features#export (演示)
我知道这是几年前的事情了,但我留下了这个答案,因为它对我有用,可能还有其他人会发现它有用。
System.IO.StringWriter stringWriter = new System.IO.StringWriter();
2) 在监视窗口中输入两个监视器:
a. stringWriter
b. new System.Xml.Serialization.XmlSerializer(obj.GetType()).Serialize(stringWriter, obj)
在输入第二个观察器(序列化观察器)后,stringWriter 观察器的值将被设置为 obj 序列化为 XML。复制并粘贴它。请注意,XML 将被括在花括号 {...} 中,因此如果您想要将 XML 用于任何事情,您需要将它们删除。