winIDEA SDK
|
This class controls breakpoints on target.
Python example for method setBP(): test_set_bp.py
Python example for method setHWBP(): test_set_hwbp.py
#include <CBreakpointController.h>
Public Member Functions | |
CBreakpointController (std::shared_ptr< ConnectionMgr > connectionMgr) | |
Instantiates object. More... | |
void | clear_BP_condition (const CBPInstance &rBP) |
removes breakpoint's condition More... | |
int | deleteAll () |
Deletes all execution breakpoints. More... | |
int | deleteAllHWBP () |
Deletes all hardware breakpoints. More... | |
int | deleteBP (const std::string &fileName, int lineNumber) |
Deletes breakpoint at the given location in source code. More... | |
int | deleteBP (const std::string &symbolName) |
Deletes breakpoint at the given symbol name. More... | |
int | deleteBP (int memArea, ADDRESS_64 address) |
Deletes breakpoint at the given address. More... | |
int | deleteHWBP (const std::string &symbolName) |
Deletes hardware breakpoint at the given symbol name. More... | |
int | deleteHWBP (int memArea, ADDRESS_64 address) |
Deletes hardware breakpoint at the given address. More... | |
VBPInstances | get_BPs () |
Returns all currently configured BPs. More... | |
int | reapplyAll () |
Reapplies all currently active breakpoints. More... | |
void | remove_all_BPs () |
removes all breakpoints More... | |
void | remove_BP (const CBPInstance &rBP) |
removes the breakpoint More... | |
void | remove_BPs (const VBPInstances &rvBPs) |
removes the breakpoints More... | |
void | set_BP_action (const CBPInstance &rBP, const std::string &rstrActionScript, const std::string &rstrActionScriptParams, bool bShow) |
Sets action to take when BP hits. More... | |
void | set_BP_condition (const CBPInstance &rBP, int nConditionCount, const std::string &rstrConditionExpression) |
Sets condition to the breakpoint. More... | |
void | set_BP_enabled (const CBPInstance &rBP, bool bEnable) |
Enables / disables the breakpoint. More... | |
void | set_BP_process_filter (const CBPInstance &rBP, const std::string &rstrProcessFilter="") |
Sets process filter for a breakpoint. More... | |
CBPInstance | set_BP_source (int nLineNumber, const std::string &rstrFileName) |
Sets a breakpoint on a source line. More... | |
CBPInstance | set_BP_symbol (const std::string &rstrSymbol) |
Sets a breakpoint on the symbol. More... | |
int | setBP (const std::string &symbolName, int conditionCount=0, const std::string &conditionExpression="") |
Sets breakpoint at the given symbol. More... | |
int | setBP (int lineNumber, const std::string &fileName, int conditionCount=0, const std::string &conditionExpression="") |
Sets breakpoint at the given location in source code. More... | |
int | setBP (int memArea, ADDRESS_64 address, int conditionCount=0, const std::string &conditionExpression="") |
Sets breakpoint at the given address. More... | |
int | setEnabled (bool isEnabled, const std::string &fileName, int lineNumber) |
Enables / disables the breakpoint at the given source line. More... | |
int | setEnabled (bool isEnabled, const std::string &symbolName) |
Enables / disables the breakpoint at the given symbol name. More... | |
int | setEnabled (bool isEnabled, int memArea, ADDRESS_64 address) |
Enables / disables the breakpoint at the given address. More... | |
int | setEnabledAll (bool isEnabled) |
Sets enabled status of all breakpoints. More... | |
int | setHWBP (DWORD rwAccess, DWORD accessSize, DWORD usedDataBytes, bool isEntireObject, const std::string &symbolName, DWORD data) |
Sets hardware breakpoint on the given variable or symbol. More... | |
int | setHWBP (DWORD rwAccess, DWORD accessSize, DWORD usedDataBytes, int memArea, ADDRESS_64 address, DWORD data) |
Sets hardware breakpoint on the given address. More... | |
int | setHWEnabled (bool isEnabled, const std::string &symbolName) |
Enables / disables hardware breakpoint at the given symbol name. More... | |
int | setHWEnabled (bool isEnabled, int memArea, ADDRESS_64 address) |
Enables / disables hardware breakpoint at the given address. More... | |
int | setHWEnabledAll (bool isEnabled) |
Sets enabled status of all hardware breakpoints. More... | |
isys::CBreakpointController::CBreakpointController | ( | std::shared_ptr< ConnectionMgr > | connectionMgr | ) |
Instantiates object.
connectionMgr | class which maintains connection to winIDEA. Connection must be established before this call. |
Python example: test_set_bp.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr)
void isys::CBreakpointController::clear_BP_condition | ( | const CBPInstance & | rBP | ) |
removes breakpoint's condition
rBP | the breakpoint handle |
Python example: test_clear_bp_condition.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_instance = bp_ctrl.set_BP_symbol('main')
0
bp_ctrl.set_BP_condition(bp_instance, 1, 'main_loop_counter > 10') bp_ctrl.clear_BP_condition(bp_instance)
int isys::CBreakpointController::deleteAll | ( | ) |
Deletes all execution breakpoints.
Python example: test_delete_all.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_ctrl.setBP('main')
0
bp_ctrl.setBP('main_loop_counter')
0
bp_ctrl.deleteAll()
0
int isys::CBreakpointController::deleteAllHWBP | ( | ) |
Deletes all hardware breakpoints.
Python example: test_delete_all_hwbp.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_ctrl.setHWBP(ic.IConnectDebug.bHW_accRD,
... ic.IConnectDebug.bHW_SizeDefault, ... ic.IConnectDebug.bHW_DataLSB0, ... True, # monitor all addresses of the symbol ... "main_loop_counter", ... 42) # compare value 0
bp_ctrl.setHWBP(ic.IConnectDebug.bHW_accRD,
... ic.IConnectDebug.bHW_SizeDefault, ... ic.IConnectDebug.bHW_DataLSB0, ... 0, # main memory space ... 0x20000034, ... 56) # compare value 0
bp_ctrl.deleteAllHWBP()
0
int isys::CBreakpointController::deleteBP | ( | const std::string & | fileName, |
int | lineNumber | ||
) |
Deletes breakpoint at the given location in source code.
fileName | name of source code file |
lineNumber | line number in source file |
Python example: test_delete_bp.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_ctrl.setBP(19, 'src/main.cpp')
0
bp_ctrl.deleteBP('src/main.cpp', 19)
0
int isys::CBreakpointController::deleteBP | ( | const std::string & | symbolName | ) |
Deletes breakpoint at the given symbol name.
symbolName | name of symbol in target program, for example function name. |
Python example: test_delete_bp.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_ctrl.setBP('main')
0
bp_ctrl.deleteBP('main')
0
int isys::CBreakpointController::deleteBP | ( | int | memArea, |
ADDRESS_64 | address | ||
) |
Deletes breakpoint at the given address.
memArea | memory area of the breakpoint |
address | address of the existing breakpoint |
Python example: test_delete_bp.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_ctrl.setBP(0, 0x20000000)
0
bp_ctrl.deleteBP(0, 0x20000000)
0
int isys::CBreakpointController::deleteHWBP | ( | const std::string & | symbolName | ) |
Deletes hardware breakpoint at the given symbol name.
symbolName | name of symbol in target program, for example function name. |
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_ctrl.setHWBP(ic.IConnectDebug.bHW_accRD,
... ic.IConnectDebug.bHW_SizeDefault, ... ic.IConnectDebug.bHW_DataLSB0, ... True, # monitor all addresses of the symbol ... "main_loop_counter", ... 42) # compare value 0
bp_ctrl.deleteHWBP("main_loop_counter")
0
int isys::CBreakpointController::deleteHWBP | ( | int | memArea, |
ADDRESS_64 | address | ||
) |
Deletes hardware breakpoint at the given address.
memArea | memory area of the breakpoint |
address | address of the breakpoint |
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_ctrl.setHWBP(ic.IConnectDebug.bHW_accRD,
... ic.IConnectDebug.bHW_SizeDefault, ... ic.IConnectDebug.bHW_DataLSB0, ... 0, # main memory space ... 0x20000034, ... 56) # compare value 0
bp_ctrl.deleteHWBP(0, 0x20000034)
0
VBPInstances isys::CBreakpointController::get_BPs | ( | ) |
Returns all currently configured BPs.
Python example: test_get_bps.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr)
bp_ctrl.setBP('main')
0
bp_ctrl.setBP('main_loop_counter')
0
bp_instances = bp_ctrl.get_BPs() [bp.location() for bp in bp_instances]
['main', 'main_loop_counter']
int isys::CBreakpointController::reapplyAll | ( | ) |
Reapplies all currently active breakpoints.
Use this method, if your application has overwritten software breakpoints, for example when the code in RAM is overwritten by target application after download.
Python example: test_reapply_all.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr)
bp_ctrl.setBP('main')
0
bp_ctrl.setBP('main_loop_counter')
0
bp_ctrl.reapplyAll()
0
void isys::CBreakpointController::remove_all_BPs | ( | ) |
removes all breakpoints
Python example: test_remove_all_bps.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_ctrl.setBP('main')
0
bp_ctrl.setBP('main_loop_counter')
0
bp_instances = bp_ctrl.get_BPs() [bp.location() for bp in bp_instances]
['main', 'main_loop_counter']
bp_ctrl.remove_all_BPs() bp_instances = bp_ctrl.get_BPs() [bp.location() for bp in bp_instances]
[]
void isys::CBreakpointController::remove_BP | ( | const CBPInstance & | rBP | ) |
removes the breakpoint
rBP | the breakpoint handle |
Python example: test_remove_bp.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_instance = bp_ctrl.set_BP_source(19, 'src/main.cpp') bp_ctrl.remove_BP(bp_instance)
void isys::CBreakpointController::remove_BPs | ( | const VBPInstances & | rvBPs | ) |
removes the breakpoints
rvBPs | BP handles to remove |
Python example: test_remove_bps.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_ctrl.setBP('main')
0
bp_ctrl.setBP('main_loop_counter')
0
bp_instances = bp_ctrl.get_BPs() [bp.location() for bp in bp_instances]
['main', 'main_loop_counter']
bp_ctrl.remove_BPs(bp_instances) bp_instances = bp_ctrl.get_BPs() [bp.location() for bp in bp_instances]
[]
void isys::CBreakpointController::set_BP_action | ( | const CBPInstance & | rBP, |
const std::string & | rstrActionScript, | ||
const std::string & | rstrActionScriptParams, | ||
bool | bShow | ||
) |
Sets action to take when BP hits.
rBP | the breakpoint handle |
rstrActionScript | path to the script to execute |
rstrActionScriptParams | parameters to pass to rstrActionScript |
bShow | if set, the script window is shown, otherwise hidden |
Python example: test_set_bp_action.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_instance = bp_ctrl.set_BP_symbol('main')
0
script_dir = os.path.normpath(os.path.dirname(file)) bp_action_script = os.path.join(script_dir, "set_bp_symbol_action.py") param = "process_strings"
bp_ctrl.setBP_action(bp_instance, bp_action_script, param, False)
void isys::CBreakpointController::set_BP_condition | ( | const CBPInstance & | rBP, |
int | nConditionCount, | ||
const std::string & | rstrConditionExpression | ||
) |
Sets condition to the breakpoint.
rBP | the breakpoint handle |
nConditionCount | the number of times condition has to be met for breakpoint to trigger |
rstrConditionExpression | condition that has to be met for breakpoint to trigger |
Python example: test_set_bp_condition.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_instance = bp_ctrl.set_BP_symbol('main')
0
bp_ctrl.set_BP_condition(bp_instance, 1, 'main_loop_counter > 10')
void isys::CBreakpointController::set_BP_enabled | ( | const CBPInstance & | rBP, |
bool | bEnable | ||
) |
Enables / disables the breakpoint.
rBP | the breakpoint handle |
bEnable | set to true to enable the breakpoint, false to disable it |
Python example: test_set_bp_enabled.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_instance = bp_ctrl.set_BP_symbol('main')
0
bp_ctrl.set_BP_enabled(bp_instance, True) bp_ctrl.set_BP_enabled(bp_instance, False)
void isys::CBreakpointController::set_BP_process_filter | ( | const CBPInstance & | rBP, |
const std::string & | rstrProcessFilter = "" |
||
) |
Sets process filter for a breakpoint.
rBP | the breakpoint handle |
rstrProcessFilter | the process filter string |
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_instance = bp_ctrl.set_BP_symbol('main')
0
bp_ctrl.set_BP_process_filter(bp_instance, 'App/CORE0')
CBPInstance isys::CBreakpointController::set_BP_source | ( | int | nLineNumber, |
const std::string & | rstrFileName | ||
) |
Sets a breakpoint on a source line.
nLineNumber | line number of the breakpoint |
rstrFileName | file name |
Python example: test_set_bp_source.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_instance = bp_ctrl.set_BP_source(19, 'src/main.cpp') bp_instance.location()
'"src\\main.cpp"::19'
CBPInstance isys::CBreakpointController::set_BP_symbol | ( | const std::string & | rstrSymbol | ) |
Sets a breakpoint on the symbol.
rstrSymbol | name of the symbol to set a BP to |
Python example: test_set_bp_symbol.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_instance = bp_ctrl.set_BP_symbol('main_loop_counter') bp_instance.location()
'main_loop_counter'
int isys::CBreakpointController::setBP | ( | const std::string & | symbolName, |
int | conditionCount = 0 , |
||
const std::string & | conditionExpression = "" |
||
) |
Sets breakpoint at the given symbol.
symbolName | name of symbol in target program, for example function name. |
conditionCount | the number of times condition has to be met for breakpoint to trigger |
conditionExpression | condition that has to be met for breakpoint to trigger |
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_ctrl.setBP('main')
0
bp_ctrl.setBP('main', 0, '')
1
Python example: test_set_bp.py
int isys::CBreakpointController::setBP | ( | int | lineNumber, |
const std::string & | fileName, | ||
int | conditionCount = 0 , |
||
const std::string & | conditionExpression = "" |
||
) |
Sets breakpoint at the given location in source code.
lineNumber | line number in source file |
fileName | name of source code file |
conditionCount | the number of times condition has to be met for breakpoint to trigger |
conditionExpression | condition that has to be met for breakpoint to trigger |
Python example: test_set_bp.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_ctrl.setBP(19, 'src/main.cpp', 0, '')
0
bp_ctrl.setBP(19, 'src/main.cpp', 0, '')
1
int isys::CBreakpointController::setBP | ( | int | memArea, |
ADDRESS_64 | address, | ||
int | conditionCount = 0 , |
||
const std::string & | conditionExpression = "" |
||
) |
Sets breakpoint at the given address.
memArea | memory area of the breakpoint |
address | address to set the breakpoint |
conditionCount | the number of times condition has to be met for breakpoint to trigger |
conditionExpression | condition that has to be met for breakpoint to trigger |
Python example: test_set_bp.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_ctrl.setBP(0, 0x20000000, 0, '')
0
bp_ctrl.setBP(0, 0x20000000, 0, '')
1
int isys::CBreakpointController::setEnabled | ( | bool | isEnabled, |
const std::string & | fileName, | ||
int | lineNumber | ||
) |
Enables / disables the breakpoint at the given source line.
isEnabled | set to true to enable the breakpoint, false to disable it |
fileName | name of source code file |
lineNumber | line number in source file |
Python example: test_set_enabled.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_ctrl.setBP(19, 'src/main.cpp')
0
bp_ctrl.setEnabled(False, 'src/main.cpp', 19)
0
bp_ctrl.setEnabled(True, 'src/main.cpp', 19)
0
int isys::CBreakpointController::setEnabled | ( | bool | isEnabled, |
const std::string & | symbolName | ||
) |
Enables / disables the breakpoint at the given symbol name.
isEnabled | set to true to enable the breakpoint, false to disable it |
symbolName | name of symbol in target program, for example function name. |
Python example: test_set_enabled.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_ctrl.setBP('main')
0
bp_ctrl.setEnabled(False, 'main')
0
bp_ctrl.setEnabled(True, 'main')
0
int isys::CBreakpointController::setEnabled | ( | bool | isEnabled, |
int | memArea, | ||
ADDRESS_64 | address | ||
) |
Enables / disables the breakpoint at the given address.
isEnabled | set to true to enable the breakpoint, false to disable it |
memArea | memory area of the breakpoint |
address | address of the breakpoint |
Python example: test_set_enabled.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_ctrl.setBP(0, 0x20000000)
0
bp_ctrl.setEnabled(False, 0, 0x20000000)
0
bp_ctrl.setEnabled(True, 0, 0x20000000)
0
int isys::CBreakpointController::setEnabledAll | ( | bool | isEnabled | ) |
Sets enabled status of all breakpoints.
isEnabled | set to true to enable breakpoints, false to disable them |
Python example: test_set_enabled_all.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr)
bp_ctrl.setBP('main')
0
bp_ctrl.setBP('main_loop_counter')
0
bp_ctrl.setEnabledAll(True)
0
int isys::CBreakpointController::setHWBP | ( | DWORD | rwAccess, |
DWORD | accessSize, | ||
DWORD | usedDataBytes, | ||
bool | isEntireObject, | ||
const std::string & | symbolName, | ||
DWORD | data | ||
) |
Sets hardware breakpoint on the given variable or symbol.
This method can set only the most basic parameters of one hardware breakpoint. If you'd like to set more than one HW breakpoint, or options not supported by this method, please set winIDEA options. To find options, set some value in HW breakpoint dialog in winIDEA, then search for it in winIDEA Help | Display Options ...
Example for PowerPC:
import isystem.connect as ic cmgr = ic.ConnectionMgr() cmgr.connect() ide = ic.CIDEController(cmgr) #configure the breakpoint strRoot = '/iOPEN/Breakpoints.PPC55xx.BP.' strCore = '1' ide.setOption(strRoot + 'HW.Enabled' , 'true') ide.setOption(strRoot + 'HW.e200[' + strCore + '].Enabled' , 'true') ide.setOption(strRoot + 'HW.e200[' + strCore + '].DAC_Enable[0]', 'true') ide.setOption(strRoot + 'HW.e200[' + strCore + '].DAC_Access[0]', 'WR') ide.setOption(strRoot + 'e200[' + strCore + '].DAC_Address[0]' , 'VariableName') #apply it to the MCU print (ide.serviceCall('/iOPEN/Core.Debug.ApplyInternalBPs', ''))
rwAccess | defines read/write access. Should be one of IConnectDebug::EBreakpointFlags which start with bHW_acc ...:
|
accessSize | defines the size of access area. Should be one of IConnectDebug::EBreakpointFlags which start with bHW_Size...: |
usedDataBytes | determines which byte of data is used for data value comparison (00 = no data, FF = all). It can be set as ORed value of IConnectDebug::EBreakpointFlags which start with bHW_Data ...:
|
isEntireObject | if true, all addresses occupied by object will be monitored, otherwise only the first address is monitored. For example, if symbol is array or struct, any address occupied by the symbol may trigger a breakpoint. |
symbolName | name of symbol in target program, for example variable name. |
data | value used for comparison (access breakpoints only) |
Python example: test_set_hwbp.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_ctrl.setHWBP(ic.IConnectDebug.bHW_accRD,
... ic.IConnectDebug.bHW_SizeDefault, ... ic.IConnectDebug.bHW_DataLSB0, ... True, # monitor all addresses of the symbol ... "main_loop_counter", ... 42) # compare value 0
int isys::CBreakpointController::setHWBP | ( | DWORD | rwAccess, |
DWORD | accessSize, | ||
DWORD | usedDataBytes, | ||
int | memArea, | ||
ADDRESS_64 | address, | ||
DWORD | data | ||
) |
Sets hardware breakpoint on the given address.
See setHWBP(DWORD, DWORD, DWORD, bool, const std::string &, DWORD) for limitations of this method and how to overcome them.
rwAccess | defines read/write access. Should be one of IConnectDebug::EBreakpointFlags which start with bHW_acc ...:
|
accessSize | defines the size of access area. Should be one of IConnectDebug::EBreakpointFlags which start with bHW_Size...: |
usedDataBytes | determines which byte of data is used for data value comparison (00 = no data, FF = all). It can be set as ORed value of IConnectDebug::EBreakpointFlags which start with bHW_Data ...:
|
memArea | memory area of address |
address | address to be monitored |
data | value used for comparison (access breakpoints only) |
Python example: test_set_hwbp.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_ctrl.setHWBP(ic.IConnectDebug.bHW_accRD,
... ic.IConnectDebug.bHW_SizeDefault, ... ic.IConnectDebug.bHW_DataLSB0, ... 0, # main memory space ... 0x20000034, ... 56) # compare value 0
int isys::CBreakpointController::setHWEnabled | ( | bool | isEnabled, |
const std::string & | symbolName | ||
) |
Enables / disables hardware breakpoint at the given symbol name.
isEnabled | set to true to enable the breakpoint, false to disable it |
symbolName | name of symbol in target program, for example function name. |
Python example: test_set_hw_enabled.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr) bp_ctrl.setHWBP(ic.IConnectDebug.bHW_accRD,
... ic.IConnectDebug.bHW_SizeDefault, ... ic.IConnectDebug.bHW_DataLSB0, ... True, # monitor all addresses of the symbol ... "main_loop_counter", ... 42) # compare value 0
bp_ctrl.setHWEnabled(False, "main_loop_counter")
1
bp_ctrl.setHWEnabled(True, "main_loop_counter")
0
int isys::CBreakpointController::setHWEnabled | ( | bool | isEnabled, |
int | memArea, | ||
ADDRESS_64 | address | ||
) |
Enables / disables hardware breakpoint at the given address.
isEnabled | set to true to enable the breakpoint, false to disable it |
memArea | memory area of the breakpoint |
address | address of the breakpoint |
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr)
bp_ctrl.setHWBP(ic.IConnectDebug.bHW_accRD,
... ic.IConnectDebug.bHW_SizeDefault, ... ic.IConnectDebug.bHW_DataLSB0, ... 0, # main memory space ... 0x20000034, ... 56) # compare value 0
bp_ctrl.setHWEnabled(True, 0, 0x20000034)
0
bp_ctrl.setHWEnabled(False, 0, 0x20000034)
1
int isys::CBreakpointController::setHWEnabledAll | ( | bool | isEnabled | ) |
Sets enabled status of all hardware breakpoints.
isEnabled | set to true to enable breakpoints, false to disable them |
Python example: test_set_hw_enabled_all.py
cmgr = ic.ConnectionMgr() cmgr.connect() bp_ctrl = ic.CBreakpointController(cmgr)
bp_ctrl.setHWBP(ic.IConnectDebug.bHW_accRD,
... ic.IConnectDebug.bHW_SizeDefault, ... ic.IConnectDebug.bHW_DataLSB0, ... 0, # main memory space ... 0x20000034, ... 56) # compare value 0
bp_ctrl.setHWEnabledAll(True)
0