Debugger visualizers & VisualizerObjectSource.TransferData

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Clive Dixon

    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
    VisualizerObjec tSource.Transfe rData(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.Exceptio n: Function evaluation timed out.
    at
    Microsoft.Visua lStudio.Debugge rVisualizers.De bugViewerShim.P rivateCallback. MaybeDeserializ eAndThrowExcept ion(Byte[]
    data)
    at
    Microsoft.Visua lStudio.Debugge rVisualizers.De bugViewerShim.P rivateCallback. WriteDataToStre amAndThrowOnExc eption(Byte[]
    data, Stream dataStream)
    at
    Microsoft.Visua lStudio.Debugge rVisualizers.De bugViewerShim.P rivateCallback. Microsoft.Visua lStudio.Debugge rVisualizers.IV isualizerObject Provider.Transf erData(Stream
    outgoingData)
    at
    Digita.Accounts Pro.DebuggerVis ualizers.Nomina lSubCodeTotalCo llectionVisuali zer.Show(IDialo gVisualizerServ ice
    windowService, IVisualizerObje ctProvider objectProvider)
    at
    Microsoft.Visua lStudio.Debugge rVisualizers.De bugViewerShim.M anagedShim.Dele gatedHost.Creat eViewer(IntPtr
    hwnd, HostServicesHel per hsh, SafeProxyWrappe r 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?


  • Clive Dixon

    #2
    Re: Debugger visualizers & VisualizerObjec tSource.Transfe rData

    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:OIMXp5cAJH A.1588@TK2MSFTN GP03.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
    VisualizerObjec tSource.Transfe rData(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.Exceptio n: Function evaluation timed out.
    at
    Microsoft.Visua lStudio.Debugge rVisualizers.De bugViewerShim.P rivateCallback. MaybeDeserializ eAndThrowExcept ion(Byte[]
    data)
    at
    Microsoft.Visua lStudio.Debugge rVisualizers.De bugViewerShim.P rivateCallback. WriteDataToStre amAndThrowOnExc eption(Byte[]
    data, Stream dataStream)
    at
    Microsoft.Visua lStudio.Debugge rVisualizers.De bugViewerShim.P rivateCallback. Microsoft.Visua lStudio.Debugge rVisualizers.IV isualizerObject Provider.Transf erData(Stream
    outgoingData)
    at
    Digita.Accounts Pro.DebuggerVis ualizers.Nomina lSubCodeTotalCo llectionVisuali zer.Show(IDialo gVisualizerServ ice
    windowService, IVisualizerObje ctProvider objectProvider)
    at
    Microsoft.Visua lStudio.Debugge rVisualizers.De bugViewerShim.M anagedShim.Dele gatedHost.Creat eViewer(IntPtr
    hwnd, HostServicesHel per hsh, SafeProxyWrappe r 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?
    >
    >

    Comment

    Working...