GetRuntimeObjectList

Syntax

GetRuntimeObjectListResult GetRuntimeObjectList(OdId tObject)

Parameters

tObject. Moniker of the development environment object, for which debugging is running.

Description

The GetRuntimeObjectList operation gets a list of objects in memory during debugging.

Comments

To execute the operation, in the tObject field specify moniker of the object that was started for debugging.

The operation results in the list of objects in memory and information about them.

Example

Below is the example of getting a list of objects in computer memory during code debugging. The request contains moniker of the object that is in debugging mode. The response contains the obtained list of objects and information about them.

SOAP request:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<GetRuntimeObjectList xmlns="http://www.fsight.ru/PP.SOM.Som">
<tObject xmlns="">
  <id>PBIOBPCAEDCOFOAEFFEFLOBMFDKGKIMENIGAAFCLHCNIIEAC!M!305559</id>
  </tObject>
  </GetRuntimeObjectList>
  </s:Body>
  </s:Envelope>

SOAP response:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<GetRuntimeObjectListResult xmlns="http://www.fsight.ru/PP.SOM.Som" xmlns:q1="http://www.fsight.ru/PP.SOM.Som" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<runtimeObjects xmlns="">
<it>
  <className>IMetabase</className>
  <refCount>1</refCount>
  <address>$ 1FE2F2016D0</address>
  <comObject>$ 1FE303232E0</comObject>
  <moduleID>M_DEBUG_SIMPLE</moduleID>
  <line>8</line>
  </it>
<it>
  <className>ArrayList</className>
  <refCount>0</refCount>
  <address>$ 1FE2F201630</address>
  <comObject>$ 1FE4E1960B0</comObject>
  <moduleID>M_DEBUG_SIMPLE</moduleID>
  <line>8</line>
  </it>
<it>
  <className>IArrayList</className>
  <refCount>1</refCount>
  <address>$ 1FE2F201770</address>
  <comObject>$ 1FE4E1960B0</comObject>
  <moduleID>M_DEBUG_SIMPLE</moduleID>
  <line>9</line>
  </it>
<it>
  <className>ICultureInfo</className>
  <refCount>1</refCount>
  <address>$ 1FE2F201810</address>
  <comObject>$ 1FE3061F3A0</comObject>
  <moduleID>M_DEBUG_SIMPLE</moduleID>
  <line>9</line>
  </it>
  </runtimeObjects>
  </GetRuntimeObjectListResult>
  </soapenv:Body>
  </soapenv:Envelope>

JSON request:

{
"GetRuntimeObjectList" :
{
"tObject" :
{
"id" : "PBIOBPCAEDCOFOAEFFEFLOBMFDKGKIMENIGAAFCLHCNIIEAC!M!305559"
}
}
}

JSON response:

{
"GetRuntimeObjectListResult" :
{
"runtimeObjects" :
{
"it" :
[
{
"className" : "IMetabase",
"refCount" : "1",
"address" : "$ 1FE2F2016D0",
"comObject" : "$ 1FE303232E0",
"moduleID" : "M_DEBUG_SIMPLE",
"line" : "8"
},
{
"className" : "ArrayList",
"refCount" : "0",
"address" : "$ 1FE2F201630",
"comObject" : "$ 1FE4E1960B0",
"moduleID" : "M_DEBUG_SIMPLE",
"line" : "8"
},
{
"className" : "IArrayList",
"refCount" : "1",
"address" : "$ 1FE2F201770",
"comObject" : "$ 1FE4E1960B0",
"moduleID" : "M_DEBUG_SIMPLE",
"line" : "9"
},
{
"className" : "ICultureInfo",
"refCount" : "1",
"address" : "$ 1FE2F201810",
"comObject" : "$ 1FE3061F3A0",
"moduleID" : "M_DEBUG_SIMPLE",
"line" : "9"
}
]
}
}
}
public static GetRuntimeObjectListResult GetRuntimeObjectList(MbId mb, string modId)
{
var somClient = new SomPortTypeClient(); // Proxy object for operation execution
// Operation execution parameters
var tGet = new GetRuntimeObjectList()
{
// Create object moniker
tObject = new OdId() { id = mb.id + "!" + FindObjectById(mb, modId).k }
};
// Get objects in memory
var result = somClient.GetRuntimeObjectList(tGet);
return result;
}

See also:

Working with Development Environment