winIDEA SDK
IConnectDebug2 Struct Reference

Description

This interface extends debug functionality of IConnectDebug with some advanced operations.


#include <i_Connect.h>

Inheritance diagram for IConnectDebug2:
IConnectDebug

Classes

struct  SDownload
 Structure with download configuration. More...
 

Public Types

enum  EMethodIndex { }
 Enumeration of methods. More...
 
enum  EDownload {
  dIndexMask = 0x000000FF , dActionMask = 0x00000700 ,
  daDownload = 0x00000100 , daDLFromList = 0x00000200 ,
  daAddToList = 0x00000300 , daGet = 0x00000400 ,
  daRemove = 0x00000500 , daRemoveAll = 0x00000600 ,
  dListMask = 0x00003000 , dListMain = 0x00000000 ,
  dListTarget = 0x00001000 , dRealTime = 0x00010000 ,
  dAbsolutePath = 0x00020000
}
 Flags to be used with IConnectDebug2::Download() method. More...
 
enum  ECore { cLaunch = 0x00000001 , cPrimaryIs0 = 0x00000002 }
 Flags for dwCoreFlags parameter of Core function. More...
 
enum  ECodeCacheOp {
  ccOpRead = isys::IConnectDebug2::ECodeCacheOp::ccOpRead , ccOpWrite = isys::IConnectDebug2::ECodeCacheOp::ccOpWrite ,
  ccOpLoad = isys::IConnectDebug2::ECodeCacheOp::ccOpLoad , ccOpSave = isys::IConnectDebug2::ECodeCacheOp::ccOpSave ,
  ccOpGet = isys::IConnectDebug2::ECodeCacheOp::ccOpGet , ccOpVerify = isys::IConnectDebug2::ECodeCacheOp::ccOpVerify ,
  ccOpVerifySave = isys::IConnectDebug2::ECodeCacheOp::ccOpVerifySave , ccOpMask = isys::IConnectDebug2::ECodeCacheOp::ccOpMask ,
  ccSrcLoaded = isys::IConnectDebug2::ECodeCacheOp::ccSrcLoaded , ccSrcInFiles = isys::IConnectDebug2::ECodeCacheOp::ccSrcInFiles ,
  ccSrcFiltered = isys::IConnectDebug2::ECodeCacheOp::ccSrcFiltered , ccSrcMask = isys::IConnectDebug2::ECodeCacheOp::ccSrcMask ,
  ccSaveFormatMotorolaS37 = isys::IConnectDebug2::ECodeCacheOp::ccSaveFormatMotorolaS37 , ccSaveFormatIntelHex = isys::IConnectDebug2::ECodeCacheOp::ccSaveFormatIntelHex ,
  ccSaveFormatBinary = isys::IConnectDebug2::ECodeCacheOp::ccSaveFormatBinary , ccSaveFormatMask = isys::IConnectDebug2::ECodeCacheOp::ccSaveFormatMask ,
  ccSaveBytes10 = isys::IConnectDebug2::ECodeCacheOp::ccSaveBytes10 , ccSaveBytes20 = isys::IConnectDebug2::ECodeCacheOp::ccSaveBytes20 ,
  ccSaveBytes40 = isys::IConnectDebug2::ECodeCacheOp::ccSaveBytes40 , ccSaveBytes80 = isys::IConnectDebug2::ECodeCacheOp::ccSaveBytes80 ,
  ccSaveBytesMask = isys::IConnectDebug2::ECodeCacheOp::ccSaveBytesMask , ccNoData = isys::IConnectDebug2::ECodeCacheOp::ccNoData
}
 
enum  EAccessFlags {
  fMonitor = isys::IConnectDebug::EAccessFlags::fMonitor , fRealTime = isys::IConnectDebug::EAccessFlags::fRealTime ,
  fMemMask = isys::IConnectDebug::EAccessFlags::fMemMask , fCore = isys::IConnectDebug::EAccessFlags::fCore ,
  fSFR = isys::IConnectDebug::EAccessFlags::fSFR , fSoC = isys::IConnectDebug::EAccessFlags::fSoC ,
  fModule = isys::IConnectDebug::EAccessFlags::fModule , fRegMask = isys::IConnectDebug::EAccessFlags::fRegMask ,
  fCacheNever = isys::IConnectDebug::EAccessFlags::fCacheNever , fCacheDefault = isys::IConnectDebug::EAccessFlags::fCacheDefault ,
  fCacheStop = isys::IConnectDebug::EAccessFlags::fCacheStop , fCacheCode = isys::IConnectDebug::EAccessFlags::fCacheCode ,
  fCacheMask = isys::IConnectDebug::EAccessFlags::fCacheMask , fNoRefresh = isys::IConnectDebug::EAccessFlags::fNoRefresh ,
  fDirect = isys::IConnectDebug::EAccessFlags::fDirect , fAccessFlagsMask = isys::IConnectDebug::EAccessFlags::fAccessFlagsMask
}
 
enum  EMemoryAccessFlags
 Used in combination with EAccessFlags. More...
 
enum  EGetAddressFlags {
  gafExpression = isys::IConnectDebug::EGetAddressFlags::gafExpression , gafVariables = isys::IConnectDebug::EGetAddressFlags::gafVariables ,
  gafLabels = isys::IConnectDebug::EGetAddressFlags::gafLabels , gafFunctions = isys::IConnectDebug::EGetAddressFlags::gafFunctions ,
  gafEnumMask = isys::IConnectDebug::EGetAddressFlags::gafEnumMask , gafEnumIndexMask = isys::IConnectDebug::EGetAddressFlags::gafEnumIndexMask ,
  gafEnumIndexOfs = isys::IConnectDebug::EGetAddressFlags::gafEnumIndexOfs , gafType2 = isys::IConnectDebug::EGetAddressFlags::gafType2 ,
  gafUseFile = isys::IConnectDebug::EGetAddressFlags::gafUseFile , gafFileMask = isys::IConnectDebug::EGetAddressFlags::gafFileMask ,
  gafFileOfs = isys::IConnectDebug::EGetAddressFlags::gafFileOfs
}
 
enum  EEvaluate {
  efDefaultMemAreaDisplay = isys::IConnectDebug::EEvaluate::efDefaultMemAreaDisplay , efNoMemAreaDisplay = isys::IConnectDebug::EEvaluate::efNoMemAreaDisplay ,
  efVagueFloatEqual = isys::IConnectDebug::EEvaluate::efVagueFloatEqual , efIgnorePointerAssignType = isys::IConnectDebug::EEvaluate::efIgnorePointerAssignType ,
  efType2 = isys::IConnectDebug::EEvaluate::efType2 , efAllowTernaryOperator = isys::IConnectDebug::EEvaluate::efAllowTernaryOperator
}
 
enum  ESymbolFlags {
  sVariables = isys::IConnectDebug::ESymbolFlags::sVariables , sLabels = isys::IConnectDebug::ESymbolFlags::sLabels ,
  sFunctions = isys::IConnectDebug::ESymbolFlags::sFunctions , sLines = isys::IConnectDebug::ESymbolFlags::sLines ,
  sConstants = isys::IConnectDebug::ESymbolFlags::sConstants , sSourceCode = isys::IConnectDebug::ESymbolFlags::sSourceCode ,
  sScopeExact = isys::IConnectDebug::ESymbolFlags::sScopeExact , sScopeNarrow = isys::IConnectDebug::ESymbolFlags::sScopeNarrow ,
  sScopeWide = isys::IConnectDebug::ESymbolFlags::sScopeWide , sScopeMask = isys::IConnectDebug::ESymbolFlags::sScopeMask
}
 
enum  ESourceFlags {
  sExact = 0x00000001 , sAbsolutePath = 0x00000002 ,
  sReportSize = 0x00000004
}
 Defines source flags. More...
 
enum  EModify { mfModifyToResult = 0x01000000 , mfModifyNoReadBack = 0x02000000 }
 Defines modifications. More...
 
enum  EStatusFlags {
  tCPU = 0x00000000 , tMask = 0x0000000F ,
  rCurrent = 0x00000000 , rRefresh = 0x00000010 ,
  rMask = 0x000000F0 , sWantStopReason = 0x00000100
}
 Defines status flags. More...
 
enum  EBreakpointFlags {
  bAddress = isys::IConnectDebug::EBreakpointFlags::bAddress , bSymbol = isys::IConnectDebug::EBreakpointFlags::bSymbol ,
  bSource = isys::IConnectDebug::EBreakpointFlags::bSource , bAddrMask = isys::IConnectDebug::EBreakpointFlags::bAddrMask ,
  bHW = isys::IConnectDebug::EBreakpointFlags::bHW , bSet = isys::IConnectDebug::EBreakpointFlags::bSet ,
  bClear = isys::IConnectDebug::EBreakpointFlags::bClear , bEnable = isys::IConnectDebug::EBreakpointFlags::bEnable ,
  bDisable = isys::IConnectDebug::EBreakpointFlags::bDisable , bAll = isys::IConnectDebug::EBreakpointFlags::bAll ,
  bReapply = isys::IConnectDebug::EBreakpointFlags::bReapply , bSetMask = isys::IConnectDebug::EBreakpointFlags::bSetMask ,
  bHW_accAny = isys::IConnectDebug::EBreakpointFlags::bHW_accAny , bHW_accRD = isys::IConnectDebug::EBreakpointFlags::bHW_accRD ,
  bHW_accWR = isys::IConnectDebug::EBreakpointFlags::bHW_accWR , bHW_accRW = isys::IConnectDebug::EBreakpointFlags::bHW_accRW ,
  bHW_accFetch = isys::IConnectDebug::EBreakpointFlags::bHW_accFetch , bHW_accMask = isys::IConnectDebug::EBreakpointFlags::bHW_accMask ,
  bHW_EntireObject = isys::IConnectDebug::EBreakpointFlags::bHW_EntireObject , bHW_SizeDefault = isys::IConnectDebug::EBreakpointFlags::bHW_SizeDefault ,
  bHW_Size1 = isys::IConnectDebug::EBreakpointFlags::bHW_Size1 , bHW_Size2 = isys::IConnectDebug::EBreakpointFlags::bHW_Size2 ,
  bHW_Size4 = isys::IConnectDebug::EBreakpointFlags::bHW_Size4 , bHW_Size8 = isys::IConnectDebug::EBreakpointFlags::bHW_Size8 ,
  bHW_SizeMask = isys::IConnectDebug::EBreakpointFlags::bHW_SizeMask , bHW_DataMask = isys::IConnectDebug::EBreakpointFlags::bHW_DataMask ,
  bHW_DataLSB0 = isys::IConnectDebug::EBreakpointFlags::bHW_DataLSB0 , bHW_DataLSB1 = isys::IConnectDebug::EBreakpointFlags::bHW_DataLSB1 ,
  bHW_DataLSB2 = isys::IConnectDebug::EBreakpointFlags::bHW_DataLSB2 , bHW_DataLSB3 = isys::IConnectDebug::EBreakpointFlags::bHW_DataLSB3 ,
  bHW_DataLSB4 = isys::IConnectDebug::EBreakpointFlags::bHW_DataLSB4 , bHW_DataLSB5 = isys::IConnectDebug::EBreakpointFlags::bHW_DataLSB5 ,
  bHW_DataLSB6 = isys::IConnectDebug::EBreakpointFlags::bHW_DataLSB6 , bHW_DataLSB7 = isys::IConnectDebug::EBreakpointFlags::bHW_DataLSB7
}
 Obtains status of the CPU. More...
 
enum  ERunControlFlags {
  rNothing = isys::IConnectDebug::ERunControlFlags::rNothing , rReset = isys::IConnectDebug::ERunControlFlags::rReset ,
  rResetAndRun = isys::IConnectDebug::ERunControlFlags::rResetAndRun , rDownload = isys::IConnectDebug::ERunControlFlags::rDownload ,
  rStop = isys::IConnectDebug::ERunControlFlags::rStop , rRun = isys::IConnectDebug::ERunControlFlags::rRun ,
  rStep = isys::IConnectDebug::ERunControlFlags::rStep , rStepOver = isys::IConnectDebug::ERunControlFlags::rStepOver ,
  rStepInst = isys::IConnectDebug::ERunControlFlags::rStepInst , rStepOverInst = isys::IConnectDebug::ERunControlFlags::rStepOverInst ,
  rStepHigh = isys::IConnectDebug::ERunControlFlags::rStepHigh , rStepOverHigh = isys::IConnectDebug::ERunControlFlags::rStepOverHigh ,
  rRunUntil = isys::IConnectDebug::ERunControlFlags::rRunUntil , rRunUntilReturn = isys::IConnectDebug::ERunControlFlags::rRunUntilReturn ,
  rGoto = isys::IConnectDebug::ERunControlFlags::rGoto , rSnapshot = isys::IConnectDebug::ERunControlFlags::rSnapshot ,
  rVerify = isys::IConnectDebug::ERunControlFlags::rVerify , rDownloadNoCode = isys::IConnectDebug::ERunControlFlags::rDownloadNoCode ,
  rAttach = isys::IConnectDebug::ERunControlFlags::rAttach , rDetach = isys::IConnectDebug::ERunControlFlags::rDetach ,
  rSlowRunOff = isys::IConnectDebug::ERunControlFlags::rSlowRunOff , rSlowRunOn = isys::IConnectDebug::ERunControlFlags::rSlowRunOn ,
  rRunMask = isys::IConnectDebug::ERunControlFlags::rRunMask , rWaitForStop = isys::IConnectDebug::ERunControlFlags::rWaitForStop ,
  rWaitTimeout10s = isys::IConnectDebug::ERunControlFlags::rWaitTimeout10s , rWaitTimeout1s = isys::IConnectDebug::ERunControlFlags::rWaitTimeout1s ,
  rWaitTimeout3s = isys::IConnectDebug::ERunControlFlags::rWaitTimeout3s , rWaitTimeout100s = isys::IConnectDebug::ERunControlFlags::rWaitTimeout100s ,
  rWaitTimeoutInf = isys::IConnectDebug::ERunControlFlags::rWaitTimeoutInf , rWaitTimeoutMask = isys::IConnectDebug::ERunControlFlags::rWaitTimeoutMask ,
  rPollingOff = isys::IConnectDebug::ERunControlFlags::rPollingOff , rPollingOn = isys::IConnectDebug::ERunControlFlags::rPollingOn ,
  rPollingMask = isys::IConnectDebug::ERunControlFlags::rPollingMask , rTristateOff = isys::IConnectDebug::ERunControlFlags::rTristateOff ,
  rTristateOn = isys::IConnectDebug::ERunControlFlags::rTristateOn , rTristateMask = isys::IConnectDebug::ERunControlFlags::rTristateMask ,
  rTargetHWConnectOff = isys::IConnectDebug::ERunControlFlags::rTargetHWConnectOff , rTargetHWConnectOn = isys::IConnectDebug::ERunControlFlags::rTargetHWConnectOn ,
  rTargetHWConnectMask = isys::IConnectDebug::ERunControlFlags::rTargetHWConnectMask
}
 

Public Member Functions

virtual HRESULT BatchAccess (DWORD dwBatchAccessFlags, const struct SBatchAccessHeader *pBatchAccessHeader, const struct SBatchAccessItem *pBatchAccessItems, SBatchAccessItemResult *pBatchAccessItemResults) PURE
 Performs multiple memory accesses, using deterministic delays. More...
 
virtual HRESULT Core (DWORD dwCoreFlags, BYTE byCore, LPSTR pszCoreID, DWORD dwCoreIDLen) PURE
 Core function manipulates secondary cores of the CPU. More...
 
virtual HRESULT SetBreakpointCond (DWORD dwBreakpointFlags, BYTE byMemArea, ADDRESS aAddress, LPCSTR pszAddress, DWORD dwLine, DWORD dwCondCount, LPCSTR pszCondExpression) PURE
 Controls conditional breakpoint setting. More...
 
virtual HRESULT GetAddress64 (DWORD dwGetAddressFlags, LPCSTR pszExpression, BYTE *pbyMemArea, ADDRESS_64 *paAddress, ADDRESS_64 *paSizeMAUs, SType *pType) PURE
 Get 64-bit address of object. More...
 
virtual HRESULT GetSymbol64 (DWORD dwSymbolFlags, BYTE byMemArea, ADDRESS_64 aAddress, LPSTR pszName, DWORD dwNameLen) PURE
 Get symbol at 64-bit address. More...
 
virtual HRESULT GetSourceAddress64 (DWORD dwSourceFlags, LPCSTR pszFileName, DWORD dwLine, ADDRESS_64 *paAddress, DWORD *pdwNumAddresses) PURE
 Get addresses to which source line translates. More...
 
virtual HRESULT GetAddressSource64 (DWORD dwSourceFlags, ADDRESS_64 aAddress, LPSTR pszFileName, DWORD dwFileNameLen, DWORD *pdwLine) PURE
 Get file and line numberof source corresponding to instruction at address aAddress. More...
 
virtual HRESULT ReadMemory64 (DWORD dwAccessFlags, BYTE byMemArea, ADDRESS_64 aAddress, ADDRESS_64 aNumMAUs, BYTE *pbyBuf, BYTE byBytesPerMAU, BYTE *pbyAccessInfo) PURE
 Trace memory reads at aAddress, from aAddress to aAddress + aNumMAUS - 1. More...
 
virtual HRESULT WriteMemory64 (DWORD dwAccessFlags, BYTE byMemArea, ADDRESS_64 aAddress, ADDRESS_64 aNumMAUs, const BYTE *pbyBuf, BYTE byBytesPerMAU, BYTE *pbyAccessInfo) PURE
 Trace memory writes at aAddress, from aAddress to aAddress + aNumMAUs - 1. More...
 
virtual HRESULT ReadValue64 (DWORD dwAccessFlags, BYTE byMemArea, ADDRESS_64 aAddress, SValue *pValue, const SType *pType) PURE
 Read value from memory at address aAddress. More...
 
virtual HRESULT WriteValue64 (DWORD dwAccessFlags, BYTE byMemArea, ADDRESS_64 aAddress, const SValue *pValue, const SType *pType) PURE
 Writes a value to the target system. More...
 
virtual HRESULT RunControl64 (DWORD dwRunControlFlags, BYTE byMemArea, ADDRESS_64 aAddress) PURE
 Obtains status of the CPU. More...
 
virtual HRESULT SetBreakpointCond64 (DWORD dwBreakpointFlags, BYTE byMemArea, ADDRESS_64 aAddress, LPCSTR pszAddress, DWORD dwLine, DWORD dwCondCount, LPCSTR pszCondExpression) PURE
 Set conditions for breakpoint at aAddress. More...
 
virtual HRESULT GetAddress (DWORD dwGetAddressFlags, LPCSTR pszExpression, BYTE *pbyMemArea, ADDRESS *paAddress, ADDRESS *paSizeMAUs, SType *pType) PURE
 Returns address and size of an object, like a global symbol, function, etc. More...
 
virtual HRESULT GetSymbol (DWORD dwSymbolFlags, BYTE byMemArea, ADDRESS aAddress, LPSTR pszName, DWORD dwNameLen) PURE
 Returns the name of the symbol on the specified address. More...
 
virtual HRESULT GetSourceAddress (DWORD dwSourceFlags, LPCSTR pszFileName, DWORD dwLine, ADDRESS *paAddress, DWORD *pdwNumAddresses) PURE
 Returns the address(es) of a source line. More...
 
virtual HRESULT GetAddressSource (DWORD dwSourceFlags, ADDRESS aAddress, LPSTR pszFileName, DWORD dwFileNameLen, DWORD *pdwLine) PURE
 Returns the source (line number and file name) matching to an address. More...
 
virtual HRESULT ReadMemory (DWORD dwAccessFlags, BYTE byMemArea, ADDRESS aAddress, ADDRESS aNumMAUs, BYTE *pbyBuf, BYTE byBytesPerMAU, BYTE *pbyAccessInfo) PURE
 Reads memory from the target system. More...
 
virtual HRESULT WriteMemory (DWORD dwAccessFlags, BYTE byMemArea, ADDRESS aAddress, ADDRESS aNumMAUs, const BYTE *pbyBuf, BYTE byBytesPerMAU, BYTE *pbyAccessInfo) PURE
 Writes memory to the target system. More...
 
virtual HRESULT ReadRegister (DWORD dwAccessFlags, LPCSTR pszRegisterName, SValue *pValue, SType *pType) PURE
 Reads the specified register. More...
 
virtual HRESULT WriteRegister (DWORD dwAccessFlags, LPCSTR pszRegisterName, const SValue *pValue, const SType *pType) PURE
 Writes the specified register. More...
 
virtual HRESULT ReadValue (DWORD dwAccessFlags, BYTE byMemArea, ADDRESS aAddress, SValue *pValue, const SType *pType) PURE
 Reads a value from the target system. More...
 
virtual HRESULT WriteValue (DWORD dwAccessFlags, BYTE byMemArea, ADDRESS aAddress, const SValue *pValue, const SType *pType) PURE
 Writes a value to the target system. More...
 
virtual HRESULT Evaluate (DWORD dwAccessFlags, LPCSTR pszExpression, LPSTR pszResult, DWORD dwResultLen, SValue *pValue, SType *pType) PURE
 Evaluates an expression. More...
 
virtual HRESULT Modify (DWORD dwModifyFlags, LPCSTR pszExpression, LPSTR pszResult, DWORD dwResultLen, const SValue *pValue, const SType *pType) PURE
 Modifies pszExpression to pValue or pszResult, if mfModifyToResult is set. More...
 
virtual HRESULT SetBreakpoint (DWORD dwBreakpointFlags, BYTE byMemArea, ADDRESS aAddress, LPCSTR pszAddress, DWORD dwLine) PURE
 Controls breakpoint setting. More...
 
virtual HRESULT RunControl (DWORD dwRunControlFlags, BYTE byMemArea, ADDRESS aAddress) PURE
 Performs a run control operation. More...
 

Member Enumeration Documentation

◆ EAccessFlags

Deprecated:
For C++ use flags from isys::IConnectDebug::EAccessFlags (i_ConnectTypes.h), for other languages the right type is automatically used. Provided for backwards compatibility.
Enumerator
fMonitor 

See isys::IConnectDebug::EAccessFlags.

fRealTime 

See isys::IConnectDebug::EAccessFlags.

fMemMask 

See isys::IConnectDebug::EAccessFlags.

fCore 

See isys::IConnectDebug::EAccessFlags.

fSFR 

See isys::IConnectDebug::EAccessFlags.

fSoC 

See isys::IConnectDebug::EAccessFlags.

fModule 

See isys::IConnectDebug::EAccessFlags.

fRegMask 

See isys::IConnectDebug::EAccessFlags.

fCacheNever 

See isys::IConnectDebug::EAccessFlags.

fCacheDefault 

See isys::IConnectDebug::EAccessFlags.

fCacheStop 

See isys::IConnectDebug::EAccessFlags.

fCacheCode 

See isys::IConnectDebug::EAccessFlags.

fCacheMask 

See isys::IConnectDebug::EAccessFlags.

fNoRefresh 

See isys::IConnectDebug::EAccessFlags.

fDirect 

See isys::IConnectDebug::EAccessFlags.

fAccessFlagsMask 

See isys::IConnectDebug::EAccessFlags.

◆ EBreakpointFlags

Obtains status of the CPU.

Deprecated:
For C++ use flags from isys::IConnectDebug::EBreakpointFlags (i_ConnectTypes.h), for other languages the right type is automatically used. Provided for backwards compatibility.
Enumerator
bAddress 

See isys::IConnectDebug::EBreakpointFlags.

bSymbol 

See isys::IConnectDebug::EBreakpointFlags.

bSource 

See isys::IConnectDebug::EBreakpointFlags.

bAddrMask 

See isys::IConnectDebug::EBreakpointFlags.

bHW 

See isys::IConnectDebug::EBreakpointFlags.

bSet 

See isys::IConnectDebug::EBreakpointFlags.

bClear 

See isys::IConnectDebug::EBreakpointFlags.

bEnable 

See isys::IConnectDebug::EBreakpointFlags.

bDisable 

See isys::IConnectDebug::EBreakpointFlags.

bAll 

See isys::IConnectDebug::EBreakpointFlags.

bReapply 

See isys::IConnectDebug::EBreakpointFlags.

bSetMask 

See isys::IConnectDebug::EBreakpointFlags.

bHW_accAny 

See isys::IConnectDebug::EBreakpointFlags.

bHW_accRD 

See isys::IConnectDebug::EBreakpointFlags.

bHW_accWR 

See isys::IConnectDebug::EBreakpointFlags.

bHW_accRW 

See isys::IConnectDebug::EBreakpointFlags.

bHW_accFetch 

See isys::IConnectDebug::EBreakpointFlags.

bHW_accMask 

See isys::IConnectDebug::EBreakpointFlags.

bHW_EntireObject 

See isys::IConnectDebug::EBreakpointFlags.

bHW_SizeDefault 

See isys::IConnectDebug::EBreakpointFlags.

bHW_Size1 

See isys::IConnectDebug::EBreakpointFlags.

bHW_Size2 

See isys::IConnectDebug::EBreakpointFlags.

bHW_Size4 

See isys::IConnectDebug::EBreakpointFlags.

bHW_Size8 

See isys::IConnectDebug::EBreakpointFlags.

bHW_SizeMask 

See isys::IConnectDebug::EBreakpointFlags.

bHW_DataMask 

See isys::IConnectDebug::EBreakpointFlags.

bHW_DataLSB0 

See isys::IConnectDebug::EBreakpointFlags.

bHW_DataLSB1 

See isys::IConnectDebug::EBreakpointFlags.

bHW_DataLSB2 

See isys::IConnectDebug::EBreakpointFlags.

bHW_DataLSB3 

See isys::IConnectDebug::EBreakpointFlags.

bHW_DataLSB4 

See isys::IConnectDebug::EBreakpointFlags.

bHW_DataLSB5 

See isys::IConnectDebug::EBreakpointFlags.

bHW_DataLSB6 

See isys::IConnectDebug::EBreakpointFlags.

bHW_DataLSB7 

See isys::IConnectDebug::EBreakpointFlags.

◆ ECodeCacheOp

Since
EVersion::ver1_1_2
Deprecated:
For C++ use flags from isys::IConnectDebug2::ECodeCacheOp (i_ConnectTypes.h), for other languages the right type is automatically used. Provided for backwards compatibility.
Enumerator
ccOpRead 

See isys::IConnectDebug2::ECodeCacheOp.

ccOpWrite 

See isys::IConnectDebug2::ECodeCacheOp.

ccOpLoad 

See isys::IConnectDebug2::ECodeCacheOp.

ccOpSave 

See isys::IConnectDebug2::ECodeCacheOp.

ccOpGet 

See isys::IConnectDebug2::ECodeCacheOp.

ccOpVerify 

See isys::IConnectDebug2::ECodeCacheOp.

ccOpVerifySave 

See isys::IConnectDebug2::ECodeCacheOp.

ccOpMask 

See isys::IConnectDebug2::ECodeCacheOp.

ccSrcLoaded 

See isys::IConnectDebug2::ECodeCacheOp.

ccSrcInFiles 

See isys::IConnectDebug2::ECodeCacheOp.

ccSrcFiltered 

See isys::IConnectDebug2::ECodeCacheOp.

ccSrcMask 

See isys::IConnectDebug2::ECodeCacheOp.

ccSaveFormatMotorolaS37 

See isys::IConnectDebug2::ECodeCacheOp.

ccSaveFormatIntelHex 

See isys::IConnectDebug2::ECodeCacheOp.

ccSaveFormatBinary 

See isys::IConnectDebug2::ECodeCacheOp.

ccSaveFormatMask 

See isys::IConnectDebug2::ECodeCacheOp.

ccSaveBytes10 

See isys::IConnectDebug2::ECodeCacheOp.

ccSaveBytes20 

See isys::IConnectDebug2::ECodeCacheOp.

ccSaveBytes40 

See isys::IConnectDebug2::ECodeCacheOp.

ccSaveBytes80 

See isys::IConnectDebug2::ECodeCacheOp.

ccSaveBytesMask 

See isys::IConnectDebug2::ECodeCacheOp.

ccNoData 

See isys::IConnectDebug2::ECodeCacheOp.

◆ ECore

Flags for dwCoreFlags parameter of Core function.

Enumerator
cLaunch 

launch the instance for the specified core

cPrimaryIs0 

primary core index is given by byCore == 0

◆ EDownload

Flags to be used with IConnectDebug2::Download() method.

Enumerator
dIndexMask 

lower 8 bits of dwDownloadFlags can be used as index into the list

dActionMask 

mask for actions

daDownload 

download this file now

daDLFromList 

download an existing file from list.

The file is identified by pszFileName. if pszFileName is empty, lower 8 bits of dwDownloadFlags are used as index into the list. The file given in pszFileName is compared to existing file names, and if match is not found, it is converted to abs. path and compared again.

daAddToList 

add a new DL file to the download file list

daGet 

obtain info from the list.

lower 8 bits of dwDownloadFlags are used as index into the list

daRemove 

remove a file from the list. lower 8 bits of dwDownloadFlags are used as index into the list

daRemoveAll 

remove all files from the list

dListMask 

mask for download list selection bits

dListMain 

use primary download list

dListTarget 

use target download list

dRealTime 

use real-time memory access to download.

To be used with daDownload or daDLFromList flags.

dAbsolutePath 

return absolute path in daGet.

With daAddToList, the specified path is not converted into workspace relative path. Has no effect with other flags.

◆ EEvaluate

enum IConnectDebug::EEvaluate
inherited
Deprecated:
For C++ use flags from isys::IConnectDebug::EEvaluate (i_ConnectTypes.h), for other languages the right type is automatically used. Provided for backwards compatibility.
Enumerator
efDefaultMemAreaDisplay 

See isys::IConnectDebug::EEvaluate.

efNoMemAreaDisplay 

See isys::IConnectDebug::EEvaluate.

efVagueFloatEqual 

See isys::IConnectDebug::EEvaluate.

efIgnorePointerAssignType 

See isys::IConnectDebug::EEvaluate.

efType2 

See isys::IConnectDebug::EEvaluate.

efAllowTernaryOperator 

See isys::IConnectDebug::EEvaluate.

◆ EGetAddressFlags

Deprecated:
For C++ use flags from isys::IConnectDebug::EGetAddressFlags (i_ConnectTypes.h), for other languages the right type is automatically used. Provided for backwards compatibility.
Enumerator
gafExpression 

See isys::IConnectDebug::EGetAddressFlags.

gafVariables 

See isys::IConnectDebug::EGetAddressFlags.

gafLabels 

See isys::IConnectDebug::EGetAddressFlags.

gafFunctions 

See isys::IConnectDebug::EGetAddressFlags.

gafEnumMask 

See isys::IConnectDebug::EGetAddressFlags.

gafEnumIndexMask 

See isys::IConnectDebug::EGetAddressFlags.

gafEnumIndexOfs 

See isys::IConnectDebug::EGetAddressFlags.

gafType2 

See isys::IConnectDebug::EGetAddressFlags.

gafUseFile 

See isys::IConnectDebug::EGetAddressFlags.

gafFileMask 

See isys::IConnectDebug::EGetAddressFlags.

gafFileOfs 

See isys::IConnectDebug::EGetAddressFlags.

◆ EMemoryAccessFlags

Used in combination with EAccessFlags.

With Memory Read/Write functions

◆ EMethodIndex

Enumeration of methods.

Enumerator
ndxSetBreakpointCond 

set conditional breakpoint

ndxSetBreakpointCond64 

set conditional breakpoint

◆ EModify

enum IConnectDebug::EModify
inherited

Defines modifications.

Enumerator
mfModifyToResult 

if set, pValue and pType are ignored, pszResult must specify the new value

mfModifyNoReadBack 

if set, read-back of the new value is not performed

◆ ERunControlFlags

Deprecated:
For C++ use flags from isys::IConnectDebug::ERunControlFlags (i_ConnectTypes.h), for other languages the right type is automatically used. Provided for backwards compatibility.
Enumerator
rNothing 

See isys::IConnectDebug::ERunControlFlags.

rReset 

See isys::IConnectDebug::ERunControlFlags.

rResetAndRun 

See isys::IConnectDebug::ERunControlFlags.

rDownload 

See isys::IConnectDebug::ERunControlFlags.

rStop 

See isys::IConnectDebug::ERunControlFlags.

rRun 

See isys::IConnectDebug::ERunControlFlags.

rStep 

See isys::IConnectDebug::ERunControlFlags.

rStepOver 

See isys::IConnectDebug::ERunControlFlags.

rStepInst 

See isys::IConnectDebug::ERunControlFlags.

rStepOverInst 

See isys::IConnectDebug::ERunControlFlags.

rStepHigh 

See isys::IConnectDebug::ERunControlFlags.

rStepOverHigh 

See isys::IConnectDebug::ERunControlFlags.

rRunUntil 

See isys::IConnectDebug::ERunControlFlags.

rRunUntilReturn 

See isys::IConnectDebug::ERunControlFlags.

rGoto 

See isys::IConnectDebug::ERunControlFlags.

rSnapshot 

See isys::IConnectDebug::ERunControlFlags.

rVerify 

See isys::IConnectDebug::ERunControlFlags.

rDownloadNoCode 

See isys::IConnectDebug::ERunControlFlags.

rAttach 

See isys::IConnectDebug::ERunControlFlags.

rDetach 

See isys::IConnectDebug::ERunControlFlags.

rSlowRunOff 

See isys::IConnectDebug::ERunControlFlags.

rSlowRunOn 

See isys::IConnectDebug::ERunControlFlags.

rRunMask 

See isys::IConnectDebug::ERunControlFlags.

rWaitForStop 

See isys::IConnectDebug::ERunControlFlags.

rWaitTimeout10s 

See isys::IConnectDebug::ERunControlFlags.

rWaitTimeout1s 

See isys::IConnectDebug::ERunControlFlags.

rWaitTimeout3s 

See isys::IConnectDebug::ERunControlFlags.

rWaitTimeout100s 

See isys::IConnectDebug::ERunControlFlags.

rWaitTimeoutInf 

See isys::IConnectDebug::ERunControlFlags.

rWaitTimeoutMask 

See isys::IConnectDebug::ERunControlFlags.

rPollingOff 

See isys::IConnectDebug::ERunControlFlags.

rPollingOn 

See isys::IConnectDebug::ERunControlFlags.

rPollingMask 

See isys::IConnectDebug::ERunControlFlags.

rTristateOff 

See isys::IConnectDebug::ERunControlFlags.

rTristateOn 

See isys::IConnectDebug::ERunControlFlags.

rTristateMask 

See isys::IConnectDebug::ERunControlFlags.

rTargetHWConnectOff 

See isys::IConnectDebug::ERunControlFlags.

rTargetHWConnectOn 

See isys::IConnectDebug::ERunControlFlags.

rTargetHWConnectMask 

See isys::IConnectDebug::ERunControlFlags.

◆ ESourceFlags

Defines source flags.

Enumerator
sExact 

match address or line position exactly

sAbsolutePath 

pszFileName in absolute path

sReportSize 

for GetSourceAddress function. If specified address and size are reported for every location

◆ EStatusFlags

Defines status flags.

Enumerator
tCPU 

Status of the CPU.

tMask 

mask for tXXX values

rCurrent 

last status obtained by winIDEA

rRefresh 

status refresh is forced

rMask 

mask for rXXX values

sWantStopReason 

report stop reason in m_byStatus

◆ ESymbolFlags

Deprecated:
For C++ use flags from isys::IConnectDebug::ESymbolFlags (i_ConnectTypes.h), for other languages the right type is automatically used. Provided for backwards compatibility.
Enumerator
sVariables 

See isys::IConnectDebug::ESymbolFlags.

sLabels 

See isys::IConnectDebug::ESymbolFlags.

sFunctions 

See isys::IConnectDebug::ESymbolFlags.

sLines 

See isys::IConnectDebug::ESymbolFlags.

sConstants 

See isys::IConnectDebug::ESymbolFlags.

sSourceCode 

See isys::IConnectDebug::ESymbolFlags.

sScopeExact 

See isys::IConnectDebug::ESymbolFlags.

sScopeNarrow 

See isys::IConnectDebug::ESymbolFlags.

sScopeWide 

See isys::IConnectDebug::ESymbolFlags.

sScopeMask 

See isys::IConnectDebug::ESymbolFlags.

Member Function Documentation

◆ BatchAccess()

virtual HRESULT IConnectDebug2::BatchAccess ( DWORD  dwBatchAccessFlags,
const struct SBatchAccessHeader pBatchAccessHeader,
const struct SBatchAccessItem pBatchAccessItems,
SBatchAccessItemResult pBatchAccessItemResults 
)
virtual

Performs multiple memory accesses, using deterministic delays.

Parameters
dwBatchAccessFlagssee SBatchAccessHeader::EFlags, flags that start with prefix 'fl'
pBatchAccessHeadersee SBatchAccessHeader
pBatchAccessItemspointer to an array of items defining the type and time of an individual access. Size of array is given in pBatchAccessHeader->m_dwNumItems.
pBatchAccessItemResultspointer to an array of objects that will receive the results of every individual access. Size of array is given in pBatchAccessHeader->m_dwNumItems.
Returns
  • E_NOTIMPL: Batch access is not implemented
  • E_FAIL: One of the accesses failed
  • S_FALSE: The specified time restrictions could not be kept

◆ Core()

virtual HRESULT IConnectDebug2::Core ( DWORD  dwCoreFlags,
BYTE  byCore,
LPSTR  pszCoreID,
DWORD  dwCoreIDLen 
)
virtual

Core function manipulates secondary cores of the CPU.

Parameters
dwCoreFlagsuse ECore
byCoreindex of the secondary core
pszCoreIDreturns the workspace name of the core instance of winIDEA
dwCoreIDLenlength of the pszCoreID string

◆ Evaluate()

virtual HRESULT IConnectDebug::Evaluate ( DWORD  dwAccessFlags,
LPCSTR  pszExpression,
LPSTR  pszResult,
DWORD  dwResultLen,
SValue pValue,
SType pType 
)
virtualinherited

Evaluates an expression.

Result is placed in pszResult and/or pValue/pType

Returns
  • ICONNECT_E_CAN_NOT_ACCESS - Evaluation of the expression required memory access which could not be performed.
  • ICONNECT_E_BAD_ID - Expression could not be evaluated
Parameters
dwAccessFlagsUse IConnectDebug::EAccessFlags and IConnectDebug::EEvaluate flags. IConnectDebug::EAccessFlags determine what kind of memory access is permitted if required to resolve the expression, while IConnectDebug::EEvaluate flags define result format.
pszExpressionAny C syntax expression.
pszResultPointer to a char buffer that will receive the result of the evaluation. If this parameter is NULL no string value is returned.
dwResultLenLength of the pszResult buffer.
pValuePointer to a SValue type variable that will receive the value. If this parameter is NULL no simple type value is returned. If this parameter is non NULL and the pszExpression doesn't evaluate to a simple type, the function will fail. See IConnectDebug::SValue
pTypePointer to a variable that will receive the type.

◆ GetAddress()

virtual HRESULT IConnectDebug::GetAddress ( DWORD  dwGetAddressFlags,
LPCSTR  pszExpression,
BYTE *  pbyMemArea,
ADDRESS *  paAddress,
ADDRESS *  paSizeMAUs,
SType pType 
)
virtualinherited

Returns address and size of an object, like a global symbol, function, etc.

Returns
  • ICONNECT_E_CAN_NOT_ACCESS - Evaluation required a memory access which could not be performed.
  • ICONNECT_E_BAD_ID - Expression could not be evaluated
  • S_FALSE - File or enum index out of range
Parameters
dwGetAddressFlags
31 30-24 23-16 15-12 11-8 7-0
Use File File Index Enum Index Enum Source Reserved SBZ EAccessFlags
  • EAccessFlags used if required to resolve the expression. See IConnectDebug::EAccessFlags.
  • Enum Source - see IConnectDebug::EGetAddressFlags, gafXXX flags
  • Enum Index - Index of the enumerated symbol to return.
  • File index - Index of the symbol (download) file to use. Used only if Use File flag is set.
pszExpressionAn expression that describes a location in memory (an L-value). If symbol enumeration is used, the name of the global symbol.
pbyMemAreaPointer to a BYTE type variable that will receive the memory area of the object.
paAddressPointer to an ADDRESS type variable that will receive the address of the object.
paSizeMAUsPointer to an ADDRESS type variable that will receive the size of the object.
pTypePointer to a SType type variable that will receive the type of the object.

◆ GetAddress64()

virtual HRESULT IConnectDebug2::GetAddress64 ( DWORD  dwGetAddressFlags,
LPCSTR  pszExpression,
BYTE *  pbyMemArea,
ADDRESS_64 *  paAddress,
ADDRESS_64 *  paSizeMAUs,
SType pType 
)
virtual

Get 64-bit address of object.

Parameters
dwGetAddressFlagsAddress Flags.
pszExpressionAn expression that describes a location in memory (an L-value). If symbol enumeration is used, the name of the global symbol.
pbyMemAreaPointer to a BYTE type variable that will receive the memory area of the object.
paAddressPointer to an ADDRESS type variable that will receive the address of the object.
paSizeMAUsPointer to an ADDRESS type variable that will receive the size of the object.
pTypePointer to a SType type variable that will receive the type of the object.

◆ GetAddressSource()

virtual HRESULT IConnectDebug::GetAddressSource ( DWORD  dwSourceFlags,
ADDRESS  aAddress,
LPSTR  pszFileName,
DWORD  dwFileNameLen,
DWORD *  pdwLine 
)
virtualinherited

Returns the source (line number and file name) matching to an address.

Returns
S_FALSE - Source line not found for the specified address
Parameters
dwSourceFlagsSee IConnectDebug::ESourceFlags.
aAddressAddress.
pszFileNamePointer to char array buffer that will receive the file name.
dwFileNameLenLength of the array pointed to by pszFileName.
pdwLinePointer to DWORD type variable that will receive the line number.

◆ GetAddressSource64()

virtual HRESULT IConnectDebug2::GetAddressSource64 ( DWORD  dwSourceFlags,
ADDRESS_64  aAddress,
LPSTR  pszFileName,
DWORD  dwFileNameLen,
DWORD *  pdwLine 
)
virtual

Get file and line numberof source corresponding to instruction at address aAddress.

Parameters
dwSourceFlagsSee IConnectDebug::ESourceFlags.
aAddressAddress of instruction.
pszFileNamePointer to char array buffer that will receive the file name.
dwFileNameLenLength of the array pointed to by pszFileName.
pdwLinePointer to DWORD type variable that will receive the line number.

◆ GetSourceAddress()

virtual HRESULT IConnectDebug::GetSourceAddress ( DWORD  dwSourceFlags,
LPCSTR  pszFileName,
DWORD  dwLine,
ADDRESS *  paAddress,
DWORD *  pdwNumAddresses 
)
virtualinherited

Returns the address(es) of a source line.

Returns
S_FALSE - Address for the given source line not found.
Parameters
dwSourceFlagsIConnectDebug::ESourceFlags.
pszFileNameName of the file.
dwLineLine number.
paAddressPointer to an array of ADDRESS type variables that will receive the addresses to which the source line translates.
pdwNumAddressesPoints to a DWORD type variable that:
  • on input specifies the size of the paAddresses array,
  • on output, the number of entries placed into the paAddresses array.

◆ GetSourceAddress64()

virtual HRESULT IConnectDebug2::GetSourceAddress64 ( DWORD  dwSourceFlags,
LPCSTR  pszFileName,
DWORD  dwLine,
ADDRESS_64 *  paAddress,
DWORD *  pdwNumAddresses 
)
virtual

Get addresses to which source line translates.

Parameters
dwSourceFlagsIConnectDebug::ESourceFlags.
pszFileNameName of the file.
dwLineLine number.
paAddressPointer to an array of ADDRESS type variables that will receive the addresses to which the source line translates.
pdwNumAddressesPoints to a DWORD type variable that:
  • on input specifies the size of the paAddresses array,
  • on output, the number of entries placed into the paAddresses array.

◆ GetSymbol()

virtual HRESULT IConnectDebug::GetSymbol ( DWORD  dwSymbolFlags,
BYTE  byMemArea,
ADDRESS  aAddress,
LPSTR  pszName,
DWORD  dwNameLen 
)
virtualinherited

Returns the name of the symbol on the specified address.

Returns
S_FALSE - No symbol on the specified address. pszName is set to empty string.
Parameters
dwSymbolFlagsSpecifies symbol classes to consider. See IConnectDebug::ESymbolFlags
byMemAreaMemory area of the object.
aAddressAddress of the object.
pszNamePointer to a char buffer that will receive the name of the symbol.
dwNameLenLength of the pszName buffer.

◆ GetSymbol64()

virtual HRESULT IConnectDebug2::GetSymbol64 ( DWORD  dwSymbolFlags,
BYTE  byMemArea,
ADDRESS_64  aAddress,
LPSTR  pszName,
DWORD  dwNameLen 
)
virtual

Get symbol at 64-bit address.

Parameters
dwSymbolFlagsSpecifies symbol classes to consider. See IConnectDebug::ESymbolFlags
byMemAreaMemory area of the object.
aAddressAddress of the object.
pszNamePointer to a char buffer that will receive the name of the symbol.
dwNameLenLength of the pszName buffer.

◆ Modify()

virtual HRESULT IConnectDebug::Modify ( DWORD  dwModifyFlags,
LPCSTR  pszExpression,
LPSTR  pszResult,
DWORD  dwResultLen,
const SValue pValue,
const SType pType 
)
virtualinherited

Modifies pszExpression to pValue or pszResult, if mfModifyToResult is set.

Result is returned in pszResult unless NULL or 0 == dwResultLen. The expression must evaluate to a lvalue.

Example 1:

To set the value of iCounter to 42, we can use pValue parameter:

SValue valueData;
SType valueType;
valueData.m_INT16 = 42;
valueType.m_byType = SType::tSigned;
valueType.m_byBitSize = 16;

Modify(IConnectDebug::fMonitor, "iCounter", NULL, 0, &valueData, &valueType);

Example 2:

To modify counters[3] according to the following statement:

  counters[3] = counters[0] + counters[1];

we can set the following:

  pszExpression = "counters[3]";
  pszResult = "counters[0] + counters[1]";
Returns
  • ICONNECT_E_CAN_NOT_ACCESS - Evaluation of the expression required memory access which could not be performed.
  • ICONNECT_E_BAD_ID - Expression could not be evaluated
Parameters
dwModifyFlagsSame as Evaluate with addition of mfModifyToResult. If set, pValue and pType are ignored, pszResult must specify the new value
pszExpressionAny C syntax expression that evaluates to a lvalue.
pszResultPointer to a char buffer that will receive the result of the evaluation. If this parameter is NULL no string value is returned. In case of an error, the pszResult will contain the error string.
dwResultLenMaximum length of the pszResult buffer returned. This value can be zero, even when pszResult is non-NULL (used with the mfModifyToResult flag)
pValuePointer to a SValue type variable containing the value to write to pszExpression. This parameter is not used if mfModifyToResult flag is used.
pTypePointer to a SType type variable containing the type info of pValue. This parameter is not used if mfModifyToResult flag is used.

◆ ReadMemory()

virtual HRESULT IConnectDebug::ReadMemory ( DWORD  dwAccessFlags,
BYTE  byMemArea,
ADDRESS  aAddress,
ADDRESS  aNumMAUs,
BYTE *  pbyBuf,
BYTE  byBytesPerMAU,
BYTE *  pbyAccessInfo 
)
virtualinherited

Reads memory from the target system.

Returns
  • ICONNECT_E_CAN_NOT_ACCESS - Memory can not be accessed. This can be caused by bad memory area specification, out of range address, unavailability of the requested access mode (real-time) or the CPU is not in a mode that allows memory access.
  • ICONNECT_E_SIZE - The byBytesPerMAU value is incorrect for the specified memory area.
Parameters
dwAccessFlagsUse IConnectDebug::EAccessFlags | EMemoryAccessFlags
byMemAreaMemory space. Definitions for individual CPUs are provided in MemArea.h
aAddressAddress of the memory location of the first access.
aNumMAUsNumber of MAUs (memory addressable units) to read.
pbyBufThe buffer to receive the read out data. Note that for memory areas with MAU size other than 8 bits (PIC Program, ARM CP, etc), the pbyBuf must be large enough to accommodate all data. Data is placed in consecutive locations in the buffer, i.e. the MAU from aAddress is placed first, MAU from aAddress+1 is placed next etc.

Within a MAU the byte ordering is LSB. For the 14 bit maProgramPIC16XX area a read from address 10 would yield the following format:

      ADDR = 10              ADDR = 11               ADDR = 12
  ====================   =====================   ====================
  (7-0)      xx(13-8)    (7-0)       xx(13-8)    (7-0)      xx(13-8)
  pbyBuf[0]  pbyBuf[1]   pbyBuf[2]   pbyBuf[3]   pbyBuf[4]  pbyBuf[5]

  
Parameters
byBytesPerMAUNumber of BYTE type locations required to fit one MAU (memory addressable unit). The number of bytes required for every MAU is:
MAU Size Bytes Required per MAU
1 - 8 1
9 - 16 2
17 - 32 4

winIDEA will check this parameter and return ICONNECT_E_SIZE in case of mismatch.

Parameters
pbyAccessInfoThe buffer to receive information about access to every individual location. One byte must be allocated per MAU. If this parameter is NULL, no access information will be returned.

◆ ReadMemory64()

virtual HRESULT IConnectDebug2::ReadMemory64 ( DWORD  dwAccessFlags,
BYTE  byMemArea,
ADDRESS_64  aAddress,
ADDRESS_64  aNumMAUs,
BYTE *  pbyBuf,
BYTE  byBytesPerMAU,
BYTE *  pbyAccessInfo 
)
virtual

Trace memory reads at aAddress, from aAddress to aAddress + aNumMAUS - 1.

Access information is saved to pbyAccessInfo.

Parameters
dwAccessFlagsUse IConnectDebug::EAccessFlags
byMemAreaMemory space. Definitions for individual CPUs are provided in MemArea.h
aAddressAddress of the memory location of the first access.
aNumMAUsNumber of MAUs (memory addressable units) to read.
pbyBufBuffer to receive access data.
byBytesPerMAUNumber ob bytes per MAU for storage of access information.
pbyAccessInfoThe buffer to receive information about access to every individual location. One byte must be allocated per MAU. If this parameter is NULL, no access information will be returned.

◆ ReadRegister()

virtual HRESULT IConnectDebug::ReadRegister ( DWORD  dwAccessFlags,
LPCSTR  pszRegisterName,
SValue pValue,
SType pType 
)
virtualinherited

Reads the specified register.

Returns
  • ICONNECT_E_BAD_ID - The specified register does not exist.
  • ICONNECT_E_SIZE - The specified register is to long to fit SValue.
  • ICONNECT_E_CAN_NOT_ACCESS - The register can not be accessed in the current CPU mode.
Parameters
dwAccessFlagsSee IConnectDebug::EAccessFlags for available flags, except fCacheCode
pszRegisterNameName of the register to read.
pValuePointer to a SValue type variable that will receive the value.
pTypeContains the type info of pValue.

◆ ReadValue()

virtual HRESULT IConnectDebug::ReadValue ( DWORD  dwAccessFlags,
BYTE  byMemArea,
ADDRESS  aAddress,
SValue pValue,
const SType pType 
)
virtualinherited

Reads a value from the target system.

This function resembles ReadMemory but additionally it formats the value according to the type specified (including endian conversions).

Returns
S_FALSE - symbol not found
Parameters
dwAccessFlagsUse IConnectDebug::EAccessFlags, except fCore, and fSFR.
byMemAreaMemory space. Definitions for individual CPUs are provided in MemArea.h
aAddressAddress of the memory location of the first access.
pValuePointer to a SValue type variable that will receive the value.
pTypePointer to a SType type variable containing the type info of pValue.

◆ ReadValue64()

virtual HRESULT IConnectDebug2::ReadValue64 ( DWORD  dwAccessFlags,
BYTE  byMemArea,
ADDRESS_64  aAddress,
SValue pValue,
const SType pType 
)
virtual

Read value from memory at address aAddress.

Parameters
dwAccessFlagsUse IConnectDebug::EAccessFlags, except fCore, and fSFR.
byMemAreaMemory space. Definitions for individual CPUs are provided in MemArea.h
aAddressAddress of the memory location of the first access.
pValuePointer to a SValue type variable that will receive the value.
pTypePointer to a SType type variable containing the type info of pValue.

◆ RunControl()

virtual HRESULT IConnectDebug::RunControl ( DWORD  dwRunControlFlags,
BYTE  byMemArea,
ADDRESS  aAddress 
)
virtualinherited

Performs a run control operation.

Note that IConnectDebug::rRun, IConnectDebug::rRunUntil and IConnectDebug::rRunUntilReturn functions are 'non-blocking' - when they return the CPU might still be running. rWaitForStop flag yields blocking operation'. If the wait expires, ICONNECT_E_TIMEOUT is returned

Returns
ICONNECT_E_NOT_AVAILABLE - The requested operation is not available. ICONNECT_E_TIMEOUT - wait expired
Parameters
dwRunControlFlagsSpecifies which register domain to access. See IConnectDebug::ERunControlFlags
byMemAreaDetermines the address space of the breakpoint.
aAddressAddress used by IConnectDebug::rRunUntil and IConnectDebug::rGoto commands.

◆ RunControl64()

virtual HRESULT IConnectDebug2::RunControl64 ( DWORD  dwRunControlFlags,
BYTE  byMemArea,
ADDRESS_64  aAddress 
)
virtual

Obtains status of the CPU.

Parameters
dwRunControlFlagsSpecifies which register domain to access. See IConnectDebug::ERunControlFlags
byMemAreaDetermines the address space of the breakpoint.
aAddressAddress used by IConnectDebug::rRunUntil and IConnectDebug::rGoto commands.

◆ SetBreakpoint()

virtual HRESULT IConnectDebug::SetBreakpoint ( DWORD  dwBreakpointFlags,
BYTE  byMemArea,
ADDRESS  aAddress,
LPCSTR  pszAddress,
DWORD  dwLine 
)
virtualinherited

Controls breakpoint setting.

Returns
  • S_FALSE - Breakpoint could not be set - probably already exists.
  • ICONNECT_E_BAD_ID - The pszAddress does not evaluate to a location.
  • ICONNECT_E_ERROR - Breakpoint could not be set.
  • ICONNECT_E_NO_BREAKPOINT - No breakpoint was found at the specified address.
Parameters
dwBreakpointFlagsDetermines the breakpoint operation. See IConnectDebug::EBreakpointFlags
byMemAreaDetermines the address space of the breakpoint. This value is used only if bAddress flag is used.
aAddressDetermines the address of the breakpoint. This value is used only if bAddress flag is used.
pszAddressDetermines the address of the breakpoint:
  • If bSymbol flag is used this string is interpreted as a symbol (function name, code label).
  • If bSource flag is used, this string is interpreted as file name.
dwLineIf bSource flag is used, dwLine specifies the line number. If bHW flag is used, dwLine specifies the access data value

◆ SetBreakpointCond()

virtual HRESULT IConnectDebug2::SetBreakpointCond ( DWORD  dwBreakpointFlags,
BYTE  byMemArea,
ADDRESS  aAddress,
LPCSTR  pszAddress,
DWORD  dwLine,
DWORD  dwCondCount,
LPCSTR  pszCondExpression 
)
virtual

Controls conditional breakpoint setting.

Returns
  • S_FALSE - Breakpoint could not be set - probably already exists.
  • ICONNECT_E_BAD_ID - The pszAddress does not evaluate to a location.
  • ICONNECT_E_ERROR - Breakpoint could not be set.
  • ICONNECT_E_NO_BREAKPOINT - No breakpoint was found at the specified address.
Parameters
dwBreakpointFlagsDetermines the breakpoint operation. See IConnectDebug::EBreakpointFlags
byMemAreaDetermines the address space of the breakpoint. This value is used only if bAddress flag is used.
aAddressDetermines the address of the breakpoint. This value is used only if bAddress flag is used.
pszAddressDetermines the address of the breakpoint: - If bSymbol flag is used this string is interpreted as a symbol (function name, code label).
  • If bSource flag is used, this string is interpreted as file name.
dwLineIf bSource flag is used, dwLine specifies the line number.
dwCondCountspecifies the number of times the condition expression must be non-zero for BP to hit. if set to zero, the BP will hit on first occurrence
pszCondExpressionthe expression to evaluate on each hit if NULL or empty, only dwCondCount applies

◆ SetBreakpointCond64()

virtual HRESULT IConnectDebug2::SetBreakpointCond64 ( DWORD  dwBreakpointFlags,
BYTE  byMemArea,
ADDRESS_64  aAddress,
LPCSTR  pszAddress,
DWORD  dwLine,
DWORD  dwCondCount,
LPCSTR  pszCondExpression 
)
virtual

Set conditions for breakpoint at aAddress.

Parameters
dwBreakpointFlagsDetermines the breakpoint operation. See IConnectDebug::EBreakpointFlags
byMemAreaDetermines the address space of the breakpoint. This value is used only if bAddress flag is used.
aAddressDetermines the address of the breakpoint. This value is used only if bAddress flag is used.
pszAddressDetermines the address of the breakpoint: - If bSymbol flag is used this string is interpreted as a symbol (function name, code label).
  • If bSource flag is used, this string is interpreted as file name.
dwLineIf bSource flag is used, dwLine specifies the line number.
dwCondCountspecifies the number of times the condition expression must be non-zero for BP to hit. if set to zero, the BP will hit on first occurrence
pszCondExpressionthe expression to evaluate on each hit if NULL or empty, only dwCondCount applies

◆ WriteMemory()

virtual HRESULT IConnectDebug::WriteMemory ( DWORD  dwAccessFlags,
BYTE  byMemArea,
ADDRESS  aAddress,
ADDRESS  aNumMAUs,
const BYTE *  pbyBuf,
BYTE  byBytesPerMAU,
BYTE *  pbyAccessInfo 
)
virtualinherited

Writes memory to the target system.

Returns
  • ICONNECT_E_CAN_NOT_ACCESS - Memory can not be accessed. This can be caused by bad memory area specification, out of range address, unavailability of the requested access mode (real-time) or the CPU is not in a mode that allows memory access.
  • ICONNECT_E_SIZE - The byBytesPerMAU value is incorrect for the specified memory area.
Parameters
dwAccessFlagsUse IConnectDebug::EAccessFlags | EMemoryAccessFlags except fCacheXXX.
byMemAreaMemory space. Definitions for individual CPUs are provided in MemArea.h
aAddressAddress of the memory location of the first access.
aNumMAUsNumber of MAUs (memory addressable units) to read.
pbyBufThe buffer to receive the read out data. Note that for memory areas with MAU size other than 8 bits (PowerPC SPR, ARM CP, etc), the pbyBuf must be large enough to accommodate all data. Data is placed in consecutive locations in the buffer, i.e. the MAU from aAddress is placed first, MAU from aAddress+1 is placed next etc.

Within a MAU the byte ordering is LSB.

Parameters
byBytesPerMAUNumber of BYTE type locations required to fit one MAU (memory addressable unit). The number of bytes required for every MAU is:
MAU Size Bytes Required per MAU
1 - 8 1
9 - 16 2
17 - 32 4

winIDEA will check this parameter and return ICONNECT_E_SIZE in case of mismatch. If byBytesPerMAU==1 is requested on non-1 byte per MAU area and the requested aNumMAUs is a multiple of it, the request is accepted and processed

Parameters
pbyAccessInfoThe buffer to receive information about access to every individual location. One byte must be allocated per MAU. If this parameter is NULL, no access information will be returned.

◆ WriteMemory64()

virtual HRESULT IConnectDebug2::WriteMemory64 ( DWORD  dwAccessFlags,
BYTE  byMemArea,
ADDRESS_64  aAddress,
ADDRESS_64  aNumMAUs,
const BYTE *  pbyBuf,
BYTE  byBytesPerMAU,
BYTE *  pbyAccessInfo 
)
virtual

Trace memory writes at aAddress, from aAddress to aAddress + aNumMAUs - 1.

Access information is saved to pbyAccessInfo.

Parameters
dwAccessFlagsUse IConnectDebug::EAccessFlags, except fCacheXXX.
byMemAreaMemory space. Definitions for individual CPUs are provided in MemArea.h
aAddressAddress of the memory location of the first access.
aNumMAUsNumber of MAUs (memory addressable units) to read.
pbyBufBuffer to receive access data.
byBytesPerMAUNumber ob bytes per MAU for storage of access information.
pbyAccessInfoThe buffer to receive information about access to every individual location. One byte must be allocated per MAU. If this parameter is NULL, no access information will be returned.

◆ WriteRegister()

virtual HRESULT IConnectDebug::WriteRegister ( DWORD  dwAccessFlags,
LPCSTR  pszRegisterName,
const SValue pValue,
const SType pType 
)
virtualinherited

Writes the specified register.

Returns
  • ICONNECT_E_BAD_ID - The specified register does not exist.
  • ICONNECT_S_SIZE - The specified value is to long to fit register.
  • ICONNECT_E_CAN_NOT_ACCESS - The register can not be accessed in the current CPU mode.
Parameters
dwAccessFlagsSee IConnectDebug::EAccessFlags for available flags, except fCacheCode
pszRegisterNameName of the register to write to.
pValueStores a value to be written to the register.
pTypeContains the type info of pValue.

◆ WriteValue()

virtual HRESULT IConnectDebug::WriteValue ( DWORD  dwAccessFlags,
BYTE  byMemArea,
ADDRESS  aAddress,
const SValue pValue,
const SType pType 
)
virtualinherited

Writes a value to the target system.

This function resembles WriteMemory but additionally it formats the value according to the type specified (including endian conversions).

Parameters
dwAccessFlagsUse IConnectDebug::EAccessFlags, except fCore, fSFR, and fCacheXXX.
byMemAreaMemory space. Definitions for individual CPUs are provided in MemArea.h
aAddressAddress of the memory location of the first access.
pValuePointer to a SValue type variable containing the value to write.
pTypePointer to a SType type variable containing the type info of pValue.

◆ WriteValue64()

virtual HRESULT IConnectDebug2::WriteValue64 ( DWORD  dwAccessFlags,
BYTE  byMemArea,
ADDRESS_64  aAddress,
const SValue pValue,
const SType pType 
)
virtual

Writes a value to the target system.

This function resembles WriteMemory but additionally it formats the value according to the type specified (including endian conversions).

Parameters
dwAccessFlagsUse IConnectDebug::EAccessFlags, except fCore, fSFR, and fCacheXXX.
byMemAreaMemory space. Definitions for individual CPUs are provided in MemArea.h
aAddressAddress of the memory location of the first access.
pValuePointer to a SValue type variable containing the value to write.
pTypePointer to a SType type variable containing the type info of pValue.