"""
This script demonstrates coverage and profiler analysis on the same
analyzer recording.
"""
import time
import isystem.connect as ic
def initTarget(cmgr):
debugCtrl = ic.CDebugFacade(cmgr)
debugCtrl.download()
debugCtrl.runUntilFunction("main")
debugCtrl.waitUntilStopped()
return debugCtrl
if __name__ == '__main__':
print('isystem.connect version: ' + ic.getModuleVersion())
winidea_id = ''
cmgr = ic.ConnectionMgr()
cmgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
debugCtrl = initTarget(cmgr)
docName = "test.trd"
traceDoc = ic.CTraceController(cmgr, docName, "w")
triggerIdx = traceDoc.getActiveTriggerIndex()
print('Target is running, trace_doc is recording data...')
traceDoc.start()
debugCtrl.run()
time.sleep(3)
debugCtrl.stop()
print('Target stopped, loading trace data...')
traceDoc.waitUntilLoaded()
coverageDoc = ic.CCoverageController2(cmgr, docName, 'u')
cvrgTriggerName = 'cvrgTrigger'
cvrgTriggerIdx = coverageDoc.getTriggerIndex(cvrgTriggerName, False)
if cvrgTriggerIdx == -1:
cvrgTriggerIdx = coverageDoc.createTrigger(cvrgTriggerName)
coverageDoc.select(cvrgTriggerIdx)
coverageDoc.start1()
coverageDoc.waitUntilLoaded()
profilerDoc = ic.CProfilerController2(cmgr, docName, 'u')
profTriggerName = 'profTrigger'
profTriggerIdx = profilerDoc.getTriggerIndex(profTriggerName, False)
if profTriggerIdx == -1:
profTriggerIdx = profilerDoc.createTrigger(profTriggerName)
profilerDoc.select(profTriggerIdx)
profilerDoc.start1()
profilerDoc.waitUntilLoaded()
print('Done. Results are visible in winIDEA, file: ', docName)