471,616 Members | 1,696 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,616 software developers and data experts.

Debugger visualizers & VisualizerObjectSource.TransferData

I'm writing my first debugger visualiser, and I'm having to provide my own
serialisation as the object I'm examining is not serializable. I also want
to be able to modify the object via my visualizer, so I have overridden
VisualizerObjectSource.TransferData(object target, Stream incomingData,
Stream outgoingData). However the documentation available for this method is
somewhat poor and confusing, and I am blundering about in the dark on this
one.

I have tried deserialising the incomingData stream and modifying the target
object accordingly (and not doing anything with the outgoingData stream).
Now this seems to work, except that several seconds after closing my
visualizer I also get an error message box within Visual Studio:

System.Exception: Function evaluation timed out.
at
Microsoft.VisualStudio.DebuggerVisualizers.DebugVi ewerShim.PrivateCallback.MaybeDeserializeAndThrowE xception(Byte[]
data)
at
Microsoft.VisualStudio.DebuggerVisualizers.DebugVi ewerShim.PrivateCallback.WriteDataToStreamAndThrow OnException(Byte[]
data, Stream dataStream)
at
Microsoft.VisualStudio.DebuggerVisualizers.DebugVi ewerShim.PrivateCallback.Microsoft.VisualStudio.De buggerVisualizers.IVisualizerObjectProvider.Transf erData(Stream
outgoingData)
at
Digita.AccountsPro.DebuggerVisualizers.NominalSubC odeTotalCollectionVisualizer.Show(IDialogVisualize rService
windowService, IVisualizerObjectProvider objectProvider)
at
Microsoft.VisualStudio.DebuggerVisualizers.DebugVi ewerShim.ManagedShim.DelegatedHost.CreateViewer(In tPtr
hwnd, HostServicesHelper hsh, SafeProxyWrapper proxy)

After clicking continue everything continues to run fine.

Does anyone have any idea as to why this is happening? And does anyone know
of any decent documentation about implementing an override of this method?
Aug 19 '08 #1
1 1988
It seems that the timeouts occur because the TransferData is taking too
long. After optmising my code to modify the original object, the exceptions
disappeared.

I would still like to see some thorough documentation about the TransferData
method though.

"Clive Dixon" <clived at digita dot comwrote in message
news:OI**************@TK2MSFTNGP03.phx.gbl...
I'm writing my first debugger visualiser, and I'm having to provide my own
serialisation as the object I'm examining is not serializable. I also want
to be able to modify the object via my visualizer, so I have overridden
VisualizerObjectSource.TransferData(object target, Stream incomingData,
Stream outgoingData). However the documentation available for this method
is somewhat poor and confusing, and I am blundering about in the dark on
this one.

I have tried deserialising the incomingData stream and modifying the
target object accordingly (and not doing anything with the outgoingData
stream). Now this seems to work, except that several seconds after closing
my visualizer I also get an error message box within Visual Studio:

System.Exception: Function evaluation timed out.
at
Microsoft.VisualStudio.DebuggerVisualizers.DebugVi ewerShim.PrivateCallback.MaybeDeserializeAndThrowE xception(Byte[]
data)
at
Microsoft.VisualStudio.DebuggerVisualizers.DebugVi ewerShim.PrivateCallback.WriteDataToStreamAndThrow OnException(Byte[]
data, Stream dataStream)
at
Microsoft.VisualStudio.DebuggerVisualizers.DebugVi ewerShim.PrivateCallback.Microsoft.VisualStudio.De buggerVisualizers.IVisualizerObjectProvider.Transf erData(Stream
outgoingData)
at
Digita.AccountsPro.DebuggerVisualizers.NominalSubC odeTotalCollectionVisualizer.Show(IDialogVisualize rService
windowService, IVisualizerObjectProvider objectProvider)
at
Microsoft.VisualStudio.DebuggerVisualizers.DebugVi ewerShim.ManagedShim.DelegatedHost.CreateViewer(In tPtr
hwnd, HostServicesHelper hsh, SafeProxyWrapper proxy)

After clicking continue everything continues to run fine.

Does anyone have any idea as to why this is happening? And does anyone
know of any decent documentation about implementing an override of this
method?


Aug 20 '08 #2

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by Scott Nonnenberg [MSFT] | last post: by
reply views Thread by Scott Nonnenberg [MSFT] | last post: by
reply views Thread by Scott Nonnenberg [MSFT] | last post: by
1 post views Thread by Udi | last post: by
2 posts views Thread by Joanna Carter [TeamB] | last post: by
1 post views Thread by Clive Dixon | last post: by
1 post views Thread by XIAOLAOHU | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.