winIDEA SDK
iEclipse::IConnectEclipse Struct Reference

Description

This interface is intended for iSYSTEM's implementation of Eclipse debugger.

It is accessible only from C++ and Java wrapper of isystem.connect.

#include <i_Eclipse.h>

Inherits IUnknown.

Public Types

enum  EDisassemblyFlags {
  dfSymNone = 0x00000000 , dfSymSymbols = 0x00000001 ,
  dfSymSymbolsAndValues = 0x00000002 , dfSymMask = 0x00000003 ,
  dfNextNone = 0x00000000 , dfNextImm = 0x00000004 ,
  dfNextAll = 0x0000000C , dfNextMask = 0x0000000C
}
 Flags for methods GetDisassemblySrc(), and GetDisassemblyAdr(). More...
 
enum  EGetStackFrameInfoFlags { sfiActiveFrameOnly = 0x00000001 , sfiAbsolutePath = 0x00000002 }
 Flag for controling returned stack frame info. More...
 
enum  EGetGlobalsFlags {
  gvfVariables = 0x00000001 , gvfLabels = 0x00000002 ,
  gvfModules = 0x00000004 , gvfFunctions = 0x00000008 ,
  gvfTypes = 0x00000010 , gvfTypedefs = 0x00000020 ,
  gvfMacros = 0x00000040 , gvfInstructions = 0x00000080 ,
  gvfMask = 0x00000FFF , gvfSortAddress = 0x00010000 ,
  gvfSortName = 0x00020000 , gvfSortMask = 0x000F0000 ,
  gvfPartitionSpecify = 0x00000000 , gvfPartitionDefault = 0x00100000 ,
  gvfPartitionCurrent = 0x00200000 , gvfPartitionMask = 0x00300000
}
 Flags for retrieving globals. More...
 
enum  EGetCPUSFR {
  gcsSFRs = 0x00000001 , gcsGPRs = 0x00000002 ,
  gcsAreas = 0x00000004
}
 Flags for retrieving SFRs. More...
 
enum  ESFRValue {
  svRead = 0x00000001 , svWrite = 0x00000002 ,
  svWriteThenRead = svWrite | svRead , svNoRefresh = 0x00000010 ,
  svErrorInfo = 0x00000020
}
 Flags for retrieving amd modifying values of SFRs. More...
 

Public Member Functions

virtual HRESULT GetInfo (DWORD dwFlags, SInfo *pInfo) PURE
 Obtains general info about the target, not provided with other methods. More...
 
virtual HRESULT GetRegisterInfo (DWORD dwFlags, DWORD dwRegister, SRegisterInfo *pInfo) PURE
 Provides info about a register. More...
 
virtual HRESULT SetStackFrameContext (DWORD dwFlags, DWORD dwContext) PURE
 Sets active stack frame. More...
 
virtual HRESULT SFRValue (DWORD dwFlags, DWORD dwHandle, SValue &rValue, LPSTR pszError, DWORD dwErrorLen) PURE
 Reads and writes values of SFRs. More...
 
virtual HRESULT RemoteFileOperation (DWORD dwFlags, const char *pszFileName, DWORD &rdwP1, DWORD &rdwP2, IBuffer *pIBuffer) PURE
 Operates on a file. More...
 

Static Public Attributes

static const DWORD rfoExists = 0x00000001
 check existence. S_OK if exists, S_FALSE if not
 
static const DWORD rfoDelete = 0x00000002
 Delete the file. S_OK if successful, S_FALSE if it didn't exist, E_FAIL if operation failed.
 
static const DWORD rfoRead = 0x00000003
 reads the file, contents returned in pIBuffer
 
static const DWORD rfoWrite = 0x00000004
 writes the file, contents passed in pIBuffer
 
static const DWORD rfoOpMask = 0x0000000F
 mask to extract operation from dwFlags
 

Member Enumeration Documentation

◆ EDisassemblyFlags

Flags for methods GetDisassemblySrc(), and GetDisassemblyAdr().

Enumerator
dfSymNone 

values only, for example 'bl 400002D4'

dfSymSymbols 

symbols only, for example 'bl targetInit'

dfSymSymbolsAndValues 

symbols with values, for example 'bl targetInit (400002D4)'

dfSymMask 

mask

dfNextNone 

no NextInstruction is required

dfNextImm 

NextInstruction for immediate encoded targets required.

dfNextAll 

NextInstruction for all instructions requires.

dfNextMask 

mask

◆ EGetCPUSFR

Flags for retrieving SFRs.

Enumerator
gcsSFRs 

provide SFRs in the rpICPUSFR, via ICPUSFR::SFRs

gcsGPRs 

provide GPRs in the rpICPUSFR, via ICPUSFR::Property /GPRs

gcsAreas 

provide SFRs in the rpICPUSFR, via ICPUSFR::Property /Areas

◆ EGetGlobalsFlags

Flags for retrieving globals.

Enumerator
gvfVariables 

retrieve global variables

gvfLabels 

retrieve labels

gvfModules 

retrieve modules (source files, which generate code)

gvfFunctions 

retrieve functions

gvfTypes 

retrieve types

gvfTypedefs 

retrieve typedefs

gvfMacros 

retrieve typedefs

gvfInstructions 

retrieve instructions

gvfMask 

the mask for gvf flags

gvfSortAddress 

sort returned items by address

gvfSortName 

sort returned items by name

gvfSortMask 

the mask for gvfSort flags

gvfPartitionSpecify 

use dwPartition

gvfPartitionDefault 

use winIDEA default debug partition

gvfPartitionCurrent 

use winIDEA current partition

gvfPartitionMask 

mask for gvfPartition flags

◆ EGetStackFrameInfoFlags

Flag for controling returned stack frame info.

Enumerator
sfiActiveFrameOnly 

if this flag is set, then only the active frame is returned.

This speeds up stack retrieval signifcantly.

sfiAbsolutePath 

return absolute paths in IStackFrame

◆ ESFRValue

Flags for retrieving amd modifying values of SFRs.

Enumerator
svRead 

read value

svWrite 

set value

svWriteThenRead 

sometime the read value is not the same as the written one

svNoRefresh 

do not refresh IDE after write

svErrorInfo 

provide error info

Member Function Documentation

◆ GetInfo()

virtual HRESULT iEclipse::IConnectEclipse::GetInfo ( DWORD  dwFlags,
SInfo pInfo 
)
virtual

Obtains general info about the target, not provided with other methods.

Parameters
dwFlagsmust be zero
pInfopointer to the buffer info will be stored to

◆ GetRegisterInfo()

virtual HRESULT iEclipse::IConnectEclipse::GetRegisterInfo ( DWORD  dwFlags,
DWORD  dwRegister,
SRegisterInfo pInfo 
)
virtual

Provides info about a register.

Only main registers can be accessed by this method. Use GetCPUSFR() and SFRValue() to access SFRs.

Parameters
dwFlagsmust be zero
dwRegisterregister index. Call GetInfo() to get the number of registers on the target. Index should be in range [0 .. SInfo.m_dwNumRegisters - 1]
pInfopointer to the buffer info will be stored to
Returns
E_INVALIDARG if nRegister is too large

◆ RemoteFileOperation()

virtual HRESULT iEclipse::IConnectEclipse::RemoteFileOperation ( DWORD  dwFlags,
const char *  pszFileName,
DWORD &  rdwP1,
DWORD &  rdwP2,
IBuffer *  pIBuffer 
)
virtual

Operates on a file.

Parameters
dwFlagssee rfoXXXX for possible values.
pszFileNamepath to the file as seen by the server side
rdwP1reserved SBZ
rdwP2reserved SBZ
pIBufferbuffer object, must be allocated by the caller for Read (empty, filled by server) and Write Operations

◆ SetStackFrameContext()

virtual HRESULT iEclipse::IConnectEclipse::SetStackFrameContext ( DWORD  dwFlags,
DWORD  dwContext 
)
virtual

Sets active stack frame.

Variables of the selected stack frame are available for evaluator (methods DataController::evaluate() and DataController::mofify()).

Parameters
dwFlagsreserved, should be 0
dwContextindex of the stack frame to be selected

◆ SFRValue()

virtual HRESULT iEclipse::IConnectEclipse::SFRValue ( DWORD  dwFlags,
DWORD  dwHandle,
SValue rValue,
LPSTR  pszError,
DWORD  dwErrorLen 
)
virtual

Reads and writes values of SFRs.

Parameters
dwFlagssee ESFRValue for possible values. Flags svNoRefresh and svErrorInfo may be ORed with other flags.
dwHandlehandle of the SFR. Use method GetCPUSFR() to get handles of SFRs.
rValueSFR value
pszErrorerror desrription
dwErrorLenlength of error description