5import isystem.connect
as ic
11def test_seedGetStackUsage():
12 connMgr = ic.ConnectionMgr()
13 connMgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
16 sessCtrl = ic.CSessionCtrl(connMgr)
17 execCtrl = ic.CExecutionController(connMgr)
18 addrCtrl = ic.CAddressController(connMgr)
19 cfgCtrl = ic.CConfigurationController(connMgr)
20 dataCtrl = ic.CDataController(connMgr)
23 userStackEnd = addrCtrl.getVariableAddress(
'_edata')
26 endAddr = userStackEnd.getAddress()
27 startAddr = endAddr - 1024
31 stack_cfg = cfgCtrl.ide_app().opt(
'StackUsage')
34 stack_cfg.set_bool(
'Use',
True)
35 stack_cfg.set_uint(
'Pattern', value)
36 stack_cfg.set(
'Position',
'End')
37 stack_cfg.set(
'Start', str(hex(startAddr)))
38 stack_cfg.set(
'End', str(hex(endAddr)))
40 sessCtrl.begin_reset()
46 stackUsage = dataCtrl.getStackUsage()
47 print(f
"Base address: {stackUsage.getBase()}")
48 print(f
"Stack size: {stackUsage.getSize()}")
49 print(f
"Used stack size: {stackUsage.getUsed()}")
52if __name__ ==
"__main__":
53 test_seedGetStackUsage()