5import isystem.connect
as ic
10def printDisassembly(disassemblyLine):
11 print(
' address: ', hex(disassemblyLine.Address()))
12 print(
' opCode: ', disassemblyLine.OpCode())
13 print(
' opCodeArgs: ', disassemblyLine.OpCodeArgs())
14 print(
' fileName: ', disassemblyLine.FileName())
15 print(
' lineNumber: ', disassemblyLine.LineNumber())
16 print(
' functionName: ', disassemblyLine.FunctionName())
17 print(
' isBranch: ', disassemblyLine.IsBranch())
18 print(
' isCall: ', disassemblyLine.IsCall())
19 print(
' isIndirect: ', disassemblyLine.IsIndirect())
20 print(
' isConditional: ', disassemblyLine.IsConditional())
21 print(
' length: ', disassemblyLine.Length())
22 print(
' branchTarget: ', hex(disassemblyLine.BranchTarget()))
25print(
'isystem.connect version: ' + ic.getModuleVersion())
27cmgr = ic.ConnectionMgr()
28cmgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
30debugCtrl = ic.CDebugFacade(cmgr)
33debugCtrl.waitUntilStopped()
35dataCtrl2 = ic.CDataController2(cmgr)
36disassembly = dataCtrl2.getDisassembly(0,
'src/main.cpp', 36, 5)
38daLines = disassembly.Lines()
40numLines = daLines.size()
41print(
'numDisassemblyLines: ', numLines,
'\n')
43for idx
in range(numLines):
44 disassemblyLine = daLines.at(idx)
45 print(
'\nline: ', idx,
'/', numLines - 1)
46 printDisassembly(disassemblyLine)
49dataCtrl2.release(disassembly)