This class can be used to configure trace in a similar way as it is done via GUI wizard. More...
#include <CTraceConfigWizard.h>
Public Types | |
| enum | EAccessType { ERead , EWrite , EReadWrite } |
| Variable access type. More... | |
| enum | EDataWidthType { EWidthAny , EWidth1 , EWidth2 , EWidth4 } |
| Data width type. More... | |
| enum | EEdgeType { ERisingEdge , EFallingEdge , EAUXState } |
| Edge type for AUX trace trigger. More... | |
| enum | ERecordingContent { ERecordEverything , ERecordProgramFlow , ERecordDataAccess , ERecordInstrumentationMsgs } |
| Type of trace recording to perform. More... | |
| enum | ERecordingDuration { EAllTheTime , EBetweenTwoEvents } |
| Type of recording duration. More... | |
| enum | ESamplesOffset { ESamplesBefore , ESamplesAfter , ESamplesBeforeAndAfter } |
| Type of sampling of additional samples. More... | |
Public Member Functions | |
| void | setProcess (const std::string &name) |
| This method sets process name. | |
| void | setRecordingAttibutes (ESamplesOffset samplesOffsetType, ERecordingDuration recordingDuration) |
| This method sets additional recording properties. | |
| void | setRecordingContent (ERecordingContent recType, const std::string &identifierOrStartAddr="", const std::string &identifierOrEndAddr="", EAccessType accessType=EReadWrite) |
| If this method is not called, then 'Record Everything' is configured. | |
Static Public Member Functions | |
| static CTraceConfigWizardSPtr | createCodeExecTrigger (const std::string &funcName) |
| This method creates trigger configuration for code execution event. | |
| static CTraceConfigWizardSPtr | createDataAccessTrigger (const std::string &varName, bool isCoverEntireObject, const std::string &endAddress, EAccessType accessType) |
| This method creates trigger configuration for data access event. | |
| static CTraceConfigWizardSPtr | createDataAccessTrigger (const std::string &varName, bool isCoverEntireObject, const std::string &endAddress, EAccessType accessType, EDataWidthType dataWidth, DWORD value, DWORD mask) |
| This method creates trigger configuration for data access event. | |
| static CTraceConfigWizardSPtr | createImmediateTrigger () |
| This method creates trigger configuration equal to selecting 'Trigger Immediately' radio button in trace wizard GUI. | |
This class can be used to configure trace in a similar way as it is done via GUI wizard.
To get instance of this class, use one of the static factory methods.
Python example: test_ctrace_config_wizard.py
|
static |
This method creates trigger configuration for code execution event.
| funcName | name of a function or literal address, where execution triggers trace recording |
Python example: test_ctrace_config_wizard.py
|
static |
This method creates trigger configuration for data access event.
| varName | name of a variable or literal address, where access triggers trace recording |
| isCoverEntireObject | if true, access to entire object is monitored |
| endAddress | name of variable or literal address, where monitoring for trigger ends |
| accessType | type of memory access |
|
static |
This method creates trigger configuration for data access event.
| varName | name of a variable or literal address, where access triggers trace recording |
| isCoverEntireObject | if true, access to entire object is monitored |
| endAddress | name of variable or literal address, where monitoring for trigger ends |
| accessType | type of memory access |
| dataWidth | data width type |
| value | value that triggers trace recording |
| mask | bit mask - 0 ignore, 1 consider |
| void isys::CTraceConfigWizard::setProcess | ( | const std::string & | name | ) |
This method sets process name.
| name | process name |
| void isys::CTraceConfigWizard::setRecordingAttibutes | ( | ESamplesOffset | samplesOffsetType, |
| ERecordingDuration | recordingDuration ) |
This method sets additional recording properties.
| samplesOffsetType | defines any additional samples to record |
| recordingDuration | defines the recording duration |
| void isys::CTraceConfigWizard::setRecordingContent | ( | ERecordingContent | recType, |
| const std::string & | identifierOrStartAddr = "", | ||
| const std::string & | identifierOrEndAddr = "", | ||
| EAccessType | accessType = EReadWrite ) |
If this method is not called, then 'Record Everything' is configured.
If more detailed configuration is required, call it for each ERecordingContent, which you want to record.
| recType | if set to ERecordEverything, then all other recording settings are reset. Other function parameters are ignored. |
| identifierOrStartAddr | name of function or variable (depending on recType), or literal start address of area to trace |
| identifierOrEndAddr | name of function or variable (depending on recType), or literal end address of area to trace |
| accessType | memory access type, used only when recType == ERecordDataAccess. |