繁体   English   中英

如何在调用Visual Studio调试器可视化器之间持久保存自定义对象?

[英]How to persist custom objects between calls to a Visual Studio debugger visualizer?

我需要在我正在编写的调试器可视化器的调用之间保留一个对象,但是它不需要在IDE会话之间保留。 IDE的EnvDTE.Globals对象似乎是存储该对象的明显位置。

如果要存储的对象的类型已经在IDE中加载,例如整数列表,则可以成功将这种类型的变量保存在globals对象中,然后在随后对调试器可视化器的调用中检索它。

但是,如果在包含调试器可视化程序本身的程序集中或在可视化程序引用的本地程序集中声明了要保存的变量的类型,则所有操作都将出错。 我可以将对象保存到全局变量中,并在对可视化工具的同一调用中检索它。 但是,当我尝试在后续调用中访问它时,我可以成功测试该值是否存在,但是当我尝试访问它时,IDE崩溃了。

我认为正在发生的是,每次使用可视化工具时,调试器可视化工具的程序集都会重新加载,因此存储对象的类型与我期望的类型不匹配。 好吧,那是我的猜测。 任何解释/变通办法,将不胜感激。

您是否尝试过序列化/反序列化对象并存储序列化结果而不是对象?

我想维护一个WCF回调对象,并且使远程客户端即使在调试器扩展未处于活动状态时也能够进行回调。 因此,存储对象的序列化版本在此特定实例中无济于事。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM