import isystem.connect as ic
winidea_id = ''
def printAllBPs():
numOfBreakpoints = ideCtrl.getDynamicOptionSize('/IDE/ExecBPs.BP')
for i in range(0, numOfBreakpoints):
print('- location: ' + ideCtrl.getOptionStr('/IDE/ExecBPs.BP[' + str(i) + '].Location'))
print(' enabled: ' + str(ideCtrl.getOptionInt('/IDE/ExecBPs.BP[' + str(i) + '].Enabled')))
print(' condition: ' + str(ideCtrl.getOptionInt('/IDE/ExecBPs.BP[' + str(i) + '].Condition')))
print(' count: ' + str(ideCtrl.getOptionInt('/IDE/ExecBPs.BP[' + str(i) + '].Count')))
print(' expression: ' + ideCtrl.getOptionStr(ic.ofDestIDE, '', 'ExecBPs.BP[' + str(i) + '].Expression'))
def main():
cmgr = ic.ConnectionMgr()
cmgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
ideCtrl = ic.CIDEController(cmgr)
numOfBreakpoints = ideCtrl.getDynamicOptionSize('/IDE/ExecBPs.BP')
print("Number of breakpoints: ", numOfBreakpoints)
numOfDlFiles = ideCtrl.getDynamicOptionSize('/IDE/Debug.DownloadFiles.File')
print("Number of dl. files: ", numOfDlFiles)
downloadFiles = ic.StrVector()
ideCtrl.getDynamicOptions('/IDE/Debug.DownloadFiles.File',
'Path', downloadFiles)
print("List of download files: ")
for downloadFile in downloadFiles:
print(downloadFile)
if numOfBreakpoints < 3:
raise Exception("Please define at least three breakpoints in winIDEA before running this script!")
print(r'Index of option "common\main.cpp"::27:',
ideCtrl.findDynamicOption('/IDE/ExecBPs.BP',
'Location',
r'"src\main.cpp"::27'))
print('Breakpoints defined before running this script:')
printAllBPs()
ideCtrl.addDynamicOption('/IDE/ExecBPs.BP', -1)
ideCtrl.setOption(ic.ofDestIDE, '', 'ExecBPs.BP[1].Enabled', 'false')
ideCtrl.addDynamicOption(ic.ofDestIDE, '', 'ExecBPs.BP')
print('Two new BPs added:')
printAllBPs()
ideCtrl.removeDynamicOption('/IDE/ExecBPs.BP', 0)
print('BP at index 0 removed:')
printAllBPs()
ideCtrl.removeDynamicOption(ic.ofDestIDE, '', 'ExecBPs.BP')
numOfBreakpoints = ideCtrl.getDynamicOptionSize('/IDE/ExecBPs.BP')
if numOfBreakpoints != 0:
raise Exception("Number of breakpoints is expected to be 0, but it is " + str(numOfBreakpoints))
print('Added option 1: ', ideCtrl.addDynamicOptionUrl('/IDE/ExecBPs.BP', -1))
print('Added option 2: ', ideCtrl.addDynamicOptionUrl('/IDE/ExecBPs.BP', -1))
if __name__ == "__main__":
main()