我成功地做了几个Visual Studiodebugging器可视化器,他们工作得很好,除了在一些对象上,当我尝试用objectProvider.GetObject()反序列化对象时, System.Exception: Function evaluation timed out. at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.PrivateCallback.MaybeDeserializeAndThrowException(Byte[] data) 超时发生得相当快(即使我单击可视化图标后大概一秒钟),即使我的其他一些可视化工具仍然可以正常工作,即使大数据对象显示时间更长(5-10秒),仍然不能时间到。 我已经做了一个自定义的对象源来限制序列化到我需要显示的字段。 我还能做什么来使数据反序列化,而不会超时?
我一直在Visual Studio的debugging器可视化工作一段时间,而实际的可视化工作正常。 问题是,当检查一个variables时,它总是把自己置于可视化列表的顶部,而这个variables真的让一些用户更加恼火,因为顶级的用户也是默认打开VS的用户。 我无法在DialogDebuggerVisualizer或DebuggerVisualizerAttribute上find任何支持,这是我的第一个想法,所以我一直在searchSO / MSDN / Google,了解如何影响可视化器的sorting顺序(最好是把我的最后一个放在列表中)但无济于事。 下面是我如何注册我的可视化器,然后只是显示一个基于正在可视化的值的forms。 using Microsoft.VisualStudio.DebuggerVisualizers; [assembly: System.Diagnostics.DebuggerVisualizer( typeof(Shorthand.VSAddins.JsonVisualizer.JsonVisualizer), typeof(VisualizerObjectSource), Target = typeof(string), Description = "Json Visualizer")] namespace Shorthand.VSAddins.JsonVisualizer { public class JsonVisualizer : DialogDebuggerVisualizer { protected override void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider) { var json = objectProvider.GetObject() as string; var form = new VisualizerForm { Json = json }; […]