winIDEA SDK
|
This class is a facade for few other classes.
It adds no new functionality, but provides all-in-one interface for the most common isystem.connect operations. It contains most of the functionality of the following classes:
#include <CDebugFacade.h>
Public Member Functions | |
std::string | call (const std::string &functionName) |
See documentation of CExecutionController#call(const std::string &). More... | |
CDebugFacade (std::shared_ptr< ConnectionMgr > connectionMgr) | |
Instantiates object. More... | |
int | deleteAll () |
See documentation of CBreakpointController#deleteAll(). | |
int | deleteAllHWBP () |
See documentation of CBreakpointController#deleteAllHWBP(). | |
int | deleteBP (const std::string &fileName, int lineNumber) |
See documentation of CBreakpointController#deleteBP(const std::string &, int). | |
int | deleteBP (const std::string &symbolName) |
See documentation of CBreakpointController#deleteBP(const std::string &). | |
int | deleteBP (int memArea, ADDRESS_64 address) |
See documentation of CBreakpointController#deleteBP(int, ADDRESS_64). | |
int | deleteHWBP (const std::string &symbolName) |
See documentation of CBreakpointController#deleteHWBP(const std::string &). | |
int | deleteHWBP (int memArea, ADDRESS_64 address) |
See documentation of CBreakpointController#deleteHWBP(int, ADDRESS_64). | |
int | download () |
See documentation of CLoaderController#download(). | |
CValueType | evaluate (isys::IConnectDebug::EAccessFlags accessFlags, const std::string &expression) |
See documentation of CDataController#evaluate(IConnectDebug#EAccessFlags, const std::string &). | |
CValueType | evaluate (isys::IConnectDebug::EAccessFlags accessFlags, isys::IConnectDebug::EEvaluate evaluateFlags, const std::string &expression) |
See documentation of CDataController#evaluate(IConnectDebug::EAccessFlags, IConnectDebug::EEvaluate, const std::string &). | |
CAddressControllerSPtr | getAddressController () |
Returns reference to address controller. More... | |
iconnect::AddressVector | getAddressOfSourceLine (const std::string &fileName, int line, bool isReportSize=false) |
See documentation of CAddressController#getAddressOfSourceLine(const std::string &,int,bool). | |
CBreakpointControllerSPtr | getBreakpointController () |
Returns reference to breakpoint controller. More... | |
int | getCodeArea (bool bPhysical) |
See documentation of CAddressController::getCodeArea(bool) . | |
CCPUInfo | getCPUInfo () |
See documentation of CDataController#getCPUInfo(). | |
CPUStatus | getCPUStatus (bool wantStopReason=true) |
See documentation of CExecutionController#getCPUStatus(bool). | |
CDataControllerSPtr | getDataController () |
Returns reference to data controller. More... | |
CExecutionControllerSPtr | getExecutionController () |
Returns reference to execution controller. More... | |
CMemAddress | getExpressionAddress (const std::string &expression) |
See documentation of CAddressController#getExpressionAddress(const std::string &). | |
CMemAddress | getFunctionAddress (const std::string &functionName) |
See documentation of CAddressController::getFunctionAddress(const std::string &) . | |
CMemAddress | getLabelAddress (const std::string &labelName) |
See documentation of CAddressController#getLabelAddress(const std::string &). | |
CLoaderControllerSPtr | getLoaderController () |
Returns reference to loader controller. More... | |
int | getMemoryAreaBytesPerMAU (int memArea) |
See documentation of CDataController#getMemoryAreaBytesPerMAU(int). | |
CLineLocation | getSourceLineAtAddress (ADDRESS_64 address) |
See documentation of CAddressController#getSourceLineAtAddress(ADDRESS_64). | |
CLineLocation | getSourceLineAtAddress (ADDRESS_64 address, bool isExact, bool isAbsolutePath) |
See documentation of CAddressController#getSourceLineAtAddress(ADDRESS_64, bool, bool). | |
std::string | getSymbolAtAddress (isys::IConnectDebug::ESymbolFlags symbolType, uint8_t memArea, ADDRESS_64 address, isys::IConnectDebug::ESymbolFlags scope=isys::IConnectDebug::sScopeExact) |
See documentation of CAddressController#getSymbolAtAddress(isys::IConnectDebug::ESymbolFlags, uint8_t, ADDRESS_64, isys::IConnectDebug::ESymbolFlags). | |
CSymbolInfo | getSymbolInfo (uint32_t flags, const std::string &expression) |
See documentation of CAddressController#getSymbolInfo(uint32_t, const std::string &). | |
CMemAddress | getVariableAddress (const std::string &variableName) |
See documentation of CAddressController#getVariableAddress(const std::string &). | |
void | gotoAddress (uint8_t memArea, ADDRESS_64 address) |
See documentation of CExecutionController#gotoAddress(uint8_t, ADDRESS_64). | |
void | gotoFunction (const std::string &functionName) |
See documentation of CExecutionController#gotoFunction(const std::string &). | |
std::string | modify (isys::IConnectDebug::EAccessFlags accessFlags, const std::string &expression, const CValueType &value, bool readBack=true) |
See documentation of CDataController#modify(IConnectDebug::EAccessFlags, const std::string &, const CValueType &, bool). | |
std::string | modify (isys::IConnectDebug::EAccessFlags accessFlags, const std::string &expression, const std::string &value, bool readBack=true) |
See documentation of CDataController#modify(IConnectDebug::EAccessFlags, const std::string &, const std::string &, bool). | |
std::string | modify (isys::IConnectDebug::EAccessFlags accessFlags, isys::IConnectDebug::EEvaluate evaluateFlags, const std::string &expression, const CValueType &value, bool readBack=true) |
See documentation of CDataController#modify(IConnectDebug::EAccessFlags, IConnectDebug::EEvaluate, const std::string &, const CValueType &, bool). | |
std::string | modify (isys::IConnectDebug::EAccessFlags accessFlags, isys::IConnectDebug::EEvaluate evaluateFlags, const std::string &expression, const std::string &value, bool readBack=true) |
See documentation of CDataController#modify(IConnectDebug::EAccessFlags, IConnectDebug::EEvaluate, const std::string &, const std::string &, bool). | |
std::vector< uint8_t > | readMemory (isys::IConnectDebug::EAccessFlags accessFlags, uint8_t memArea, ADDRESS_64 aAddress, ADDRESS_64 aNumMAUs, uint8_t bytesPerMAU) |
See documentation of CDataController#readMemory(IConnectDebug::EAccessFlags, BYTE, ADDRESS_64, ADDRESS_64, BYTE) . | |
CValueType | readRegister (isys::IConnectDebug::EAccessFlags accessFlags, const std::string ®isterName) |
See documentation of CDataController#readRegister(IConnectDebug::EAccessFlags, const std::string &). | |
CValueType | readValue (isys::IConnectDebug::EAccessFlags accessFlags, uint8_t memArea, ADDRESS_64 aAddress, const SType &type) |
See documentation of CDataController#readValue(IConnectDebug::EAccessFlags, BYTE, ADDRESS_64, const SType &). | |
int | reapplyAll () |
See documentation of CBreakpointController#reapplyAll(). | |
void | reset () |
See documentation of CExecutionController#reset(). | |
int | run () |
See documentation of CExecutionController#run(). | |
int | run (CExecutionController::ETimeoutMode timeoutMode) |
See documentation of CExecutionController#run(CExecutionController::ETimeoutMode, bool). | |
int | runUntilAddress (uint8_t memArea, ADDRESS_64 address) |
See documentation of CExecutionController#runUntilAddress(uint8_t, ADDRESS_64). | |
int | runUntilAddress (uint8_t memArea, ADDRESS_64 address, CExecutionController::ETimeoutMode timeoutMode) |
See documentation of CExecutionController#runUntilAddress(uint8_t, ADDRESS_64, CExecutionController::ETimeoutMode, bool). | |
int | runUntilExpression (const std::string &expression) |
This method evaluates the given expression, which must evaluate to address. More... | |
int | runUntilExpression (const std::string &expression, CExecutionController::ETimeoutMode timeoutMode) |
This method evaluates the given expression, which must evaluate to address. More... | |
int | runUntilFunction (const std::string &functionName) |
See documentation of CExecutionController#runUntilFunction(const std::string &). | |
int | runUntilFunction (const std::string &functionName, CExecutionController::ETimeoutMode timeoutMode) |
See documentation of CExecutionController#runUntilFunction(const std::string &, CExecutionController::ETimeoutMode, bool). | |
int | runUntilReturn () |
See documentation of CExecutionController#runUntilReturn(). | |
int | runUntilReturn (CExecutionController::ETimeoutMode timeoutMode) |
See documentation of CExecutionController#runUntilReturn(isys::CExecutionController::ETimeoutMode, bool). | |
int | setBP (const std::string &symbolName, int conditionCount=0, const std::string &conditionExpression="") |
See documentation of CBreakpointController#setBP(const std::string &, int, const std::string &). | |
int | setBP (int lineNumber, const std::string &fileName, int conditionCount=0, const std::string &conditionExpression="") |
See documentation of CBreakpointController#setBP(int, const std::string &, int, const std::string &). | |
int | setBP (int memArea, ADDRESS_64 address, int conditionCount=0, const std::string &conditionExpression="") |
See documentation of CBreakpointController#setBP(int, ADDRESS_64, int, const std::string &). | |
int | setEnabled (bool isEnabled, const std::string &fileName, int lineNumber) |
See documentation of CBreakpointController#setEnabled(bool, const std::string &, int). | |
int | setEnabled (bool isEnabled, const std::string &symbolName) |
See documentation of CBreakpointController#setEnabled(bool, const std::string &). | |
int | setEnabled (bool isEnabled, int memArea, ADDRESS_64 address) |
See documentation of CBreakpointController#setEnabled(bool, int, ADDRESS_64). | |
int | setEnabledAll (bool isEnabled) |
See documentation of CBreakpointController#setEnabledAll(bool). | |
int | setHWBP (uint32_t rwAccess, uint32_t accessSize, uint32_t usedDataBytes, bool isEntireObject, const std::string &symbolName, uint32_t data) |
See documentation of CBreakpointController#setHWBP(DWORD, DWORD, DWORD, bool, const std::string &, DWORD). | |
int | setHWBP (uint32_t rwAccess, uint32_t accessSize, uint32_t usedDataBytes, int memArea, ADDRESS_64 address, uint32_t data) |
See documentation of CBreakpointController#setHWBP(DWORD, DWORD, DWORD, int, ADDRESS_64, DWORD). | |
int | setHWEnabled (bool isEnabled, const std::string &symbolName) |
See documentation of CBreakpointController#setHWEnabled(bool, const std::string &). | |
int | setHWEnabled (bool isEnabled, int memArea, ADDRESS_64 address) |
See documentation of CBreakpointController#setHWEnabled(bool, int, ADDRESS_64). | |
int | setHWEnabledAll (bool isEnabled) |
See documentation of CBreakpointController#setHWEnabledAll(bool). | |
void | setPollingEnabled (bool isEnabled) |
See documentation of CExecutionController#setPollingEnabled(bool). | |
int | setSlowRun (bool isSlowRun) |
See documentation of CExecutionController#setSlowRun(bool). | |
void | stepHigh (CExecutionController::ETimeoutMode timeoutMode=CExecutionController::TOUT_10s, bool throwOnTimeout=true) |
See documentation of CExecutionController#stepHigh(). | |
void | stepInst (CExecutionController::ETimeoutMode timeoutMode=CExecutionController::TOUT_10s, bool throwOnTimeout=true) |
See documentation of CExecutionController#stepInst(). | |
void | stepOverHigh (CExecutionController::ETimeoutMode timeoutMode=CExecutionController::TOUT_10s, bool throwOnTimeout=true) |
See documentation of CExecutionController#stepOverHigh(CExecutionController::ETimeoutMode, bool). | |
void | stepOverInst (CExecutionController::ETimeoutMode timeoutMode=CExecutionController::TOUT_10s, bool throwOnTimeout=true) |
See documentation of CExecutionController#stepOverInst(CExecutionController::ETimeoutMode, bool). | |
void | stop () |
See documentation of CExecutionController#stop(). | |
bool | waitUntilStopped (int timeoutMs=0, uint32_t pollingIntervalMs=100) |
See documentation of CExecutionController#waitUntilStopped(int, uint32_t, bool). | |
bool | waitWhileRunning (int timeoutMs, uint32_t pollingIntervalMs=100) |
See documentation of CExecutionController#waitWhileRunning(int, uint32_t, bool). | |
std::vector< uint8_t > | writeMemory (isys::IConnectDebug::EAccessFlags accessFlags, uint8_t memArea, ADDRESS_64 aAddress, ADDRESS_64 aNumMAUs, uint8_t bytesPerMAU, std::vector< uint8_t > &buff) |
See documentation of CDataController#writeMemory(IConnectDebug::EAccessFlags, BYTE, ADDRESS_64, ADDRESS_64, BYTE, std::vector<BYTE> &). | |
void | writeRegister (isys::IConnectDebug::EAccessFlags accessFlags, const std::string ®isterName, const CValueType ®isterInfo) |
See documentation of CDataController#writeRegister(IConnectDebug::EAccessFlags, const std::string &, const CValueType &). | |
void | writeValue (isys::IConnectDebug::EAccessFlags accessFlags, bool isRefreshWinIDEAGUIAfterWrite, uint8_t memArea, ADDRESS_64 aAddress, const CValueType &value) |
See documentation of CDataController#writeValue(IConnectDebug::EAccessFlags, bool, BYTE, ADDRESS_64, const CValueType &). | |
void | writeValue (isys::IConnectDebug::EAccessFlags accessFlags, uint8_t memArea, ADDRESS_64 aAddress, const CValueType &value) |
See documentation of CDataController#writeValue(IConnectDebug::EAccessFlags, BYTE, ADDRESS_64, const CValueType &). | |
isys::CDebugFacade::CDebugFacade | ( | std::shared_ptr< ConnectionMgr > | connectionMgr | ) |
Instantiates object.
connectionMgr | class which maintains connection to winIDEA. Connection must be established before this call. |
Python example: test_get_controllers.py
std::string isys::CDebugFacade::call | ( | const std::string & | functionName | ) |
See documentation of CExecutionController#call(const std::string &).
If you need to specify function parameters, use overloads of this method in CExecutionController.
CAddressControllerSPtr isys::CDebugFacade::getAddressController | ( | ) |
Returns reference to address controller.
Python example: test_get_controllers.py
CBreakpointControllerSPtr isys::CDebugFacade::getBreakpointController | ( | ) |
Returns reference to breakpoint controller.
Python example: test_get_controllers.py
CDataControllerSPtr isys::CDebugFacade::getDataController | ( | ) |
Returns reference to data controller.
Python example: test_get_controllers.py
CExecutionControllerSPtr isys::CDebugFacade::getExecutionController | ( | ) |
Returns reference to execution controller.
Python example: test_get_controllers.py
CLoaderControllerSPtr isys::CDebugFacade::getLoaderController | ( | ) |
Returns reference to loader controller.
Python example: test_get_controllers.py
int isys::CDebugFacade::runUntilExpression | ( | const std::string & | expression | ) |
This method evaluates the given expression, which must evaluate to address.
Then it runs the target with runUntilAddress. This method aggregates calls to CDataController#evaluate and CExecutionController#runUntilAddress and does not have equivalent in CExecutionController. This method returns immediately - the target may still be in running mode after return!
expression | expression, which evaluates to address. This can be one of
|
int isys::CDebugFacade::runUntilExpression | ( | const std::string & | expression, |
CExecutionController::ETimeoutMode | timeoutMode | ||
) |
This method evaluates the given expression, which must evaluate to address.
Then it runs the target with runUntilAddress. This method aggregates calls to CDataController#evaluate and CExecutionController#runUntilAddress and does not have equivalent in CExecutionController.
expression | expression, which evaluates to address. This can be one of
|
timeoutMode | timeout mode |