Debugging remote GemStone views
This page contains snippets for debugging remote GemStone views.
First in the debugging process we need a proxy to an instance of GtRemotePhlowViewedObject
that wrapps the object we are interested in.
We can get directly the inspector proxy using a dedicated snippet,
inspectorProxy := GtRemotePhlowViewedObject object: GtRemotePhlowDeclarativeTestInspectable new.
or by starting from a proxy to the object
objectProxy := GtRemotePhlowDeclarativeTestInspectable new
inspectorProxy := objectProxy proxyObject getInspectorProxyWithData asGtBareProxyObject
After we gave a proxy we can get information related to views, like the names of the methods creating the views and the raw data for creating view specifications.
inspectorProxy getDeclarativeViewMethodNames
inspectorProxy getViewsDeclarations
From the proxy object we can also get the view specifications initialized with the remote datasource
inspectorProxy proxyObject declarativeViews
We can also get the title displayed by the inspector
inspectorProxy gtInspectorTitleString
We can also get information about specific views
listViewProxySpecification := inspectorProxy getDeclarativeViewFor: #gtListFor:.
listViewProxySpecification retrieveItems: 3 fromIndex: 1
listViewProxySpecification retriveSentItemAt: 1
listViewLocalSpecification := inspectorProxy buildLocalViewSpecificationFor: #gtForwardListFor:
listViewLocalSpecification retrieveItems: 3 fromIndex: 1
listViewLocalSpecification retriveSentItemAt: 1
forwardViewProxySpecification := inspectorProxy getDeclarativeViewFor: #gtForwardListFor:
forwardViewProxySpecification retrieveViewSpecificationForForwarding
forwardViewLocalSpecification := inspectorProxy buildLocalViewSpecificationFor: #gtForwardListFor:
forwardViewLocalSpecification retrieveViewSpecificationForForwarding