デバッグ セッションで初めてビジュアライザーを表示しようとすると、その例外が発生し (下部に表示されます)、例外メッセージ ダイアログで [続行] をクリックし、ビジュアライザーを再度表示します ([虫眼鏡] ボタンをクリックして)。変数の横にあるアイコン) これは私が持っている単純なビジュアライザーです:
[assembly: DebuggerVisualizer(
typeof(TestVisualizer),
Target = typeof (string),
Description = "Test Visualizer")]
namespace VuTree {
public class TestVisualizer : DialogDebuggerVisualizer {
protected override void Show(IDialogVisualizerService svc, IVisualizerObjectProvider provider) {
var text = provider.GetObject() as string ?? "no object found...";
using (var form = new Form())
{
form.Text = text;
form.Size = new Size(400, 400);
svc.ShowDialog(form);
}
}
}
}
これは例外 (の一部) です。
************** Exception Text **************
System.Runtime.InteropServices.COMException (0x8013134F): Object is in a zombie state. (Exception from HRESULT: 0x8013134F)
Server stack trace:
at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.IPropertyProxyEESide.InitSourceDataProvider(IEEDataStorage& data)
at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.ManagedShim.SafeProxyWrapper.InitSourceDataProvider()
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.ManagedShim.SafeProxyWrapper.InitSourceDataProvider()
at Microsoft.VisualStudio.DebuggerVisualizers.DebugViewerShim.ManagedShim.DelegatedHost.CreateViewer(IntPtr hwnd, HostServicesHelper hsh, SafeProxyWrapper proxy)
なぜそれが起こるのですか?それを解決する方法は?