GetCurrentBreakLine

Syntax

GetCurrentBreakLineResult GetCurrentBreakLine(OdId tObject)

Parameters

tObject. Moniker of the unit, with which code is debugged.

Description

The GetCurrentBreakLine operation gets information about the row, in which breakpoint worked.

Comments

To execute the operation, in the tObject field specify moniker of the object that is in the debugging mode.

The operation results in the information about the breakpoint, in which code execution was interrupted.

Example

Below is the example of getting information about the row, in which code execution was interrupted in the breakpoint. The request contains moniker of the unit started in the debugging mode. The response contains information about the breakpoint.

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">
<GetCurrentBreakLine xmlns="http://www.fsight.ru/PP.SOM.Som">
<tObject xmlns="">
  <id>CDFENMHJDPDCGOAEFECMBDAOCBFPPLDEHJLFMBPLOGEOFKMJ!M!302490</id>
  </tObject>
  </GetCurrentBreakLine>
  </s:Body>
  </s:Envelope>

SOAP response:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<GetCurrentBreakLineResult 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">
<bp xmlns="">
  <moduleKey>302490</moduleKey>
  <moduleName>M_DEBUG</moduleName>
  <lineNumber>16</lineNumber>
  <enabled>1</enabled>
  <passCount>1</passCount>
<meta>
  <text>Sub Main; Var ci: ICultureInfo; i: Integer; t1: DateTime; t2: TimeSpan; Begin ci := CultureInfo.Invariant; t1 := DateTime.Now; Debug.WriteLine("Application is running. Startup time: " + ci.FormatTimeEx(t1, "HH:mm") + '.'); For i := 0 To 50000000 Do /// <summary> ///Action with many iterations /// </summary> End For; t2 := DateTime.Now - t1; Debug.WriteLine("Execution is complete."); Debug.WriteLine("Execution time: " + t2.TotalSeconds.ToString + " seconds."); End Sub Main;</text>
<references>
  <builtinReferences />
  <repoReferences />
  </references>
<desc ds="" isShortcut="0" isLink="0" ver="21" hf="0">
  <i>M_DEBUG</i>
  <n>Application debugging</n>
  <k>302490</k>
  <c>1537</c>
  <p>171999</p>
  <h>0</h>
  <hasPrv>0</hasPrv>
  <ic>0</ic>
  <trackElementDependents>0</trackElementDependents>
  </desc>
  </meta>
  </bp>
  </GetCurrentBreakLineResult>
  </soapenv:Body>
  </soapenv:Envelope>

JSON request:

{
"GetCurrentBreakLine" :
{
"tObject" :
{
"id" : "CDFENMHJDPDCGOAEFECMBDAOCBFPPLDEHJLFMBPLOGEOFKMJ!M!302490"
}
}
}

JSON response:

{
"GetCurrentBreakLineResult" :
{
"bp" :
{
"moduleKey" : "302490",
"moduleName" : "M_DEBUG",
"lineNumber" : "16",
"enabled" : "1",
"passCount" : "1",
"meta" :
{
"text" : "Sub Main; Var \tci: ICultureInfo; \ti: Integer; \tt1: DateTime; \tt2: TimeSpan; Begin \tci := CultureInfo.Invariant; \tt1 := DateTime.Now; \tDebug.WriteLine("Application is running. Startup time: " + ci.FormatTimeEx(t1, "HH:mm") + '.'); \tFor i := 0 To 50000000 Do \t\t\/\/\/ <summary> \t\t\/\/\/Action with many iterations \t\t\/\/\/ <\/summary> \tEnd For; \tt2 := DateTime.Now - t1; \tDebug.WriteLine("Execution is complete."); \tDebug.WriteLine("Execution time: " + t2.TotalSeconds.ToString + " seconds."); End Sub Main;",
"references" :
{
"builtinReferences" : "",
"repoReferences" : ""
},
"desc" :
{
"@ds" : "",
"@isShortcut" : "0",
"@isLink" : "0",
"@ver" : "21",
"@hf" : "0",
"i" : "M_DEBUG",
"n" : "Application debugging",
"k" : "302490",
"c" : "1537",
"p" : "171999",
"h" : "0",
"hasPrv" : "0",
"ic" : "0",
"trackElementDependents" : "0"
}
}
}
}
}
public static GetCurrentBreakLineResult GetCurrentBreakLine(MbId mb, string modId)
{
var somClient = new SomPortTypeClient(); // Proxy object for operation execution
// Operation execution parameters
var tGet = new GetCurrentBreakLine()
{
tObject = new OdId() { id = mb.id + "!" + FindObjectById(mb, modId).k }
};
// Get information about position of the last code execution interruption
var result = somClient.GetCurrentBreakLine(tGet);
return result;
}

See also:

Working with Development Environment