| Interface access: | publishedPartner | |
class CCrashDataSource : public CBase;
Description
Definition of the Data Source API. This API is used by formatters to obtain crash data from the Core Dump Server. The Core Dump Server derives and implements this API.
Derivation
CBase - No description.CCrashDataSource - Definition of the Data Source API. This API is used by formatters to obtain cras...
Members
Defined in CCrashDataSource More...
ConstructL()Standard second-phase constructor. ECodeSegmentsIndicates whether getting code segments is supported ECoreLastA debug agent should find the number of core tags from the DFBlock rather than t...EExceptionStacksIndicates whether obtaining the exception stacks is supported EExecutableListIndicates whether getting the executable list is supported ELastEProcessListIndicates whether getting the process list is supported EReadMemoryIndicates whether reading memory is supported. EReadRegistersIndicates whether reading registers is supported. EReadTraceBufferIndicates whether reading the trace buffer is supported. ERegisterListIndicates whether getting the register list is supported ERomBuildInfoIndicates whether obtaining the ROM build info is supported ESystemLocksIndicates whether obtaining the System Locks info is supported ETagHeaderIdCoreIdentifies a TTagHeader with associated TTag elements with iTagId values from TD...EThreadListIndicates whether getting the thread list GetAvailableTraceSizeL()Returns the size of the trace buffer that is available. Should be used in conjun...GetCodeSegmentsL(const TUint64,RCodeSegPointerList &)Obtain a list of the code segments for a process.GetCodeSegmentsL(const TUint64,RCodeSegPointerList &,TUint &)Obtain a list of the code segments for a process.GetDataSourceFunctionality(TDes8 &)Returns the Data Source Functionality block. Should be used in conjunction with ...GetDataSourceFunctionalityBufSize(TUint &)Returns the buffer size that will be required to read the Data Source functional...GetExecutableListL(RExecutablePointerList &)Read the current executable list. The caller assumes ownership of the resulting ...GetExecutableListL(RExecutablePointerList &,TUint &)Read the current executable list. The caller assumes ownership of the resulting ...GetLocksL(TSCMLockData &)Reads locks data GetProcessListL(RProcessPointerList &)Read the current process list. The caller assumes ownership of resulting data. GetProcessListL(RProcessPointerList &,TUint &)Read the current process list. The caller assumes ownership of the resulting dat...GetROMBuildInfoL(TRomHeaderData &)Reads the ROM Build Info GetRegisterListL(RRegisterList &)This call returns information on all available registers. It does not return the...GetThreadListL(const TUint64,RThreadPointerList &)Read the current thread list. The caller assumes ownership of the resulting data...GetThreadListL(const TUint64,RThreadPointerList &,TUint &)Read the current thread list. This call is only useful if the total descriptor s...GetVersion()constReturns the version of this implementation of the data source ReadMemoryL(const TUint64,const TUint32,const TUint32,TDes8 &)Read data from target relative to a particular thread. The caller assumes owners...ReadRegistersL(const TUint64,RRegisterList &)Ask the Core Dump server for some register data. The caller allocates the array ...ReadTraceBufferL(TDes8 &,TUint)Reads trace data from trace buffer at time of crash. If the resulting descriptor...TDataSourceFunctionalityCoreThese tags define what kinds of core functionality is supported by a given imple...TDataSourceTagHeaderInformation in the Data Source functionality block is represented as a concatena...TDataSourceTagHeaderIdEnumeration used to identify CCrashDataSource::TDataSourceTagHeader structures, ...iSpare1For future expansion iSpare2
Construction and destruction
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
protected: virtual void ConstructL()=0;
Description
Standard second-phase constructor.
GetRegisterListL(RRegisterList &)
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
virtual void GetRegisterListL(RRegisterList &aRegisterList)=0;
Description
This call returns information on all available registers. It does not return the register contents. This is used to establish which registers a caller could ask for, in particular for Co Processor registers. The callee (not the caller) allocates aRegisterList. This method is used by a formatter to establish which registers it can ask for, and thus need only be called once per session.
Parameters
RRegisterList &aRegisterList |
Returned register list with available registers. |
|
See also:
TRegisterDataDetailed information about a register. The Symbian ELF format defines the regist...
ReadRegistersL(const TUint64,RRegisterList &)
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
virtual void ReadRegistersL(const TUint64 aThreadId, RRegisterList &aRegisterList)=0;
Description
Ask the Core Dump server for some register data. The caller allocates the array and fills in the details of the registers for which it would like the contents.
Parameters
const TUint64 aThreadId |
Thread to read registers from. |
RRegisterList &aRegisterList |
Returned register list with current values. |
|
See also:
ReadMemoryL(const TUint64,const TUint32,const TUint32,TDes8 &)
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
virtual void ReadMemoryL(const TUint64 aThreadId, const TUint32 aAddress, const TUint32 aLength, TDes8 &aData)=0;
Description
Read data from target relative to a particular thread. The caller assumes ownership of the resulting data descriptor.
Parameters
const TUint64 aThreadId |
Memory read is relative to this thread parameter |
const TUint32 aAddress |
Virtual address to read from |
const TUint32 aLength |
Number of bytes to read |
TDes8 &aData |
Descriptor for read data |
|
GetProcessListL(RProcessPointerList &)
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
inline virtual void GetProcessListL(RProcessPointerList &aData);
Description
Read the current process list. The caller assumes ownership of resulting data.
Parameters
See also:
CProcessInfoClass that represents a process on the target. It is based on CStreamElementBase...
GetProcessListL(RProcessPointerList &,TUint &)
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
virtual void GetProcessListL(RProcessPointerList &aData, TUint &aTotalProcessListDescSize)=0;
Description
Read the current process list. The caller assumes ownership of the resulting data. This call is only useful if the total descriptor size required for transferring across the client-server boundary must be known.
Parameters
RProcessPointerList &aData |
Array of currently running processes. |
TUint &aTotalProcessListDescSize |
Total descriptor size required to transfer the list across the client-server interface. |
|
Leave codes
See also:
CProcessInfoClass that represents a process on the target. It is based on CStreamElementBase...
GetExecutableListL(RExecutablePointerList &)
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
inline virtual void GetExecutableListL(RExecutablePointerList &aData);
Description
Read the current executable list. The caller assumes ownership of the resulting data.
Parameters
Leave codes
See also:
CExecutableInfoClass that represents a target executable file from which a process can launched...
GetExecutableListL(RExecutablePointerList &,TUint &)
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
virtual void GetExecutableListL(RExecutablePointerList &aData, TUint &aTotalExecutableListDescSize)=0;
Description
Read the current executable list. The caller assumes ownership of the resulting data. This call is only useful if the total descriptor size required for transferring across the client-server boundary must be known.
Parameters
RExecutablePointerList &aData |
Array of current executables. |
TUint &aTotalExecutableListDescSize |
Total descriptor size required to transfer the list across the client-server interface. |
|
Leave codes
See also:
CExecutableInfoClass that represents a target executable file from which a process can launched...
GetThreadListL(const TUint64,RThreadPointerList &,TUint &)
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
virtual void GetThreadListL(const TUint64 aProcessId, RThreadPointerList &aThreadList, TUint &aTotalThreadListDescSize)=0;
Description
Read the current thread list. This call is only useful if the total descriptor size required for transferring across the client-server boundary must be known.
Parameters
const TUint64 aProcessId |
If this argument is -1, all the threads in the system are returned. Otherwise the threads under the process with the id aProcessId are returned. |
RThreadPointerList &aThreadList |
Array of currently running threads. |
TUint &aTotalThreadListDescSize |
Size in bytes of the descriptor required to transfer the data over the client server interface. |
|
Leave codes
See also:
GetThreadListL(const TUint64,RThreadPointerList &)
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
inline virtual void GetThreadListL(const TUint64 aProcessId, RThreadPointerList &aThreadList);
Description
Read the current thread list. The caller assumes ownership of the resulting data.
Parameters
const TUint64 aProcessId |
If this argument is -1, all the threads in the system are returned. Otherwise the threads under the process with the id aProcessId are returned. |
RThreadPointerList &aThreadList |
Array of currently running threads. |
|
Leave codes
See also:
CThreadInfoClass that represents a thread on the target. It is based on CStreamElementBase,...
GetCodeSegmentsL(const TUint64,RCodeSegPointerList &,TUint &)
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
virtual void GetCodeSegmentsL(const TUint64 aTid, RCodeSegPointerList &aCodeSegs, TUint &aTotalCodeSegListDescSize)=0;
Description
Obtain a list of the code segments for a process.
Parameters
const TUint64 aTid |
Thread identifier to obtain code segments for. |
RCodeSegPointerList &aCodeSegs |
Array of code segments. |
TUint &aTotalCodeSegListDescSize |
Size in bytes of the descriptor required to transfer the data over the client server interface. |
|
Leave codes
See also:
GetCodeSegmentsL(const TUint64,RCodeSegPointerList &)
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
inline virtual void GetCodeSegmentsL(const TUint64 aTid, RCodeSegPointerList &aCodeSegs);
Description
Obtain a list of the code segments for a process.
Parameters
const TUint64 aTid |
Thread identifier to obtain code segments for. |
RCodeSegPointerList &aCodeSegs |
Array of code segments. |
|
Leave codes
See also:
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
inline virtual TUint GetAvailableTraceSizeL();
Description
Returns the size of the trace buffer that is available. Should be used in conjunction with ReadTraceBufferL to determine the size of the buffer you need to pass in.
Return value
Leave codes
See also:
ReadTraceBufferL(TDes8 &,TUint)
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
inline virtual void ReadTraceBufferL(TDes8 &aTraceData, TUint aPos=0);
Description
Reads trace data from trace buffer at time of crash. If the resulting descriptor is of size zero then no trace data is available. Use GetAvailableTraceSizeL to see what size buffer to supply.
Parameters
TDes8 &aTraceData |
Descriptor to store trace data |
TUint aPos |
Position in the trace buffer from which to read. It will read to the end or until the supplied descriptor is full, whichever happens first. |
|
Leave codes
See also:
GetLocksL(TSCMLockData &)
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
inline virtual void GetLocksL(TSCMLockData &aLockData);
Description
Reads locks data
Parameters
TSCMLockData &aLockData |
Descriptor to store trace data |
|
Leave codes
GetROMBuildInfoL(TRomHeaderData &)
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
inline virtual void GetROMBuildInfoL(TRomHeaderData &aRomHeader);
Description
Reads the ROM Build Info
Parameters
TRomHeaderData &aRomHeader |
Contains the ROM header info after the call if succesful |
|
Leave codes
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
inline virtual TVersion GetVersion() const;
Description
Returns the version of this implementation of the data source
Return value
TVersion |
TVersion Data Source version |
|
GetDataSourceFunctionalityBufSize(TUint &)
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
inline virtual TInt GetDataSourceFunctionalityBufSize(TUint &aBufSize);
Description
Returns the buffer size that will be required to read the Data Source functionality block
Parameters
TUint &aBufSize |
Size of the buffer required |
|
Return value
TInt |
One of the OS wide codes |
|
See also:
GetDataSourceFunctionality(TDes8 &)
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
inline virtual TInt GetDataSourceFunctionality(TDes8 &aFuncBuffer);
Description
Returns the Data Source Functionality block. Should be used in conjunction with GetDataSourceFunctionalityBufSize to determine how big a buffer should be passed through.
Information in the debug functionality block is represented as a concatenation of TTag objects and a TTagHeader.
Parameters
Return value
TInt |
One of the OS wide codes |
|
See also:
Struct TDataSourceTagHeader
| Interface access: | publishedPartner | |
struct TDataSourceTagHeader;
Description
Information in the Data Source functionality block is represented as a concatenation of pairs of CCrashDataSource::TDataSourceTagHeader structures and arrays of TTag objects.
Members
Defined in CCrashDataSource::TDataSourceTagHeader:
iNumTagsThe number of TTag elements in the array associated with this TTagHeader. iTagHdrIdValue identifying the contents of this TTagHeader, should be interpreted as an e...
See also:
Member data
iTagHdrId
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
TUint16 iTagHdrId;
Description
Value identifying the contents of this TTagHeader, should be interpreted as an enumerator from TTagHeaderId.
iNumTags
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
TUint16 iNumTags;
Description
The number of TTag elements in the array associated with this TTagHeader.
Enum TDataSourceFunctionalityCore
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
TDataSourceFunctionalityCore
Description
These tags define what kinds of core functionality is supported by a given implementation of the data source. TTag structures associated with the ETagHeaderIdCore sub-block will have iTagId values from this enumeration. See each enumerator for an explanation of how a TTag with that iTagId should be interpreted.
ECodeSegments |
Indicates whether getting code segments is supported |
EExecutableList |
Indicates whether getting the executable list is supported |
EProcessList |
Indicates whether getting the process list is supported |
ERegisterList |
Indicates whether getting the register list is supported |
EThreadList |
Indicates whether getting the thread list |
EReadMemory |
Indicates whether reading memory is supported. |
EReadRegisters |
Indicates whether reading registers is supported. |
EReadTraceBuffer |
Indicates whether reading the trace buffer is supported. |
ERomBuildInfo |
Indicates whether obtaining the ROM build info is supported |
ESystemLocks |
Indicates whether obtaining the System Locks info is supported |
EExceptionStacks |
Indicates whether obtaining the exception stacks is supported |
ECoreLast |
A debug agent should find the number of core tags from the DFBlock rather than this enumerator. |
|
Enum TDataSourceTagHeaderId
| Interface access: | publishedPartner | Inherited from: crashdatasource.h |
TDataSourceTagHeaderId
Description
Enumeration used to identify CCrashDataSource::TDataSourceTagHeader structures, CCrashDataSource::TDataSourceTagHeader::iTagHdrId elements take these enumerators as values.
See also:
ETagHeaderIdCore |
Identifies a TTagHeader with associated TTag elements with iTagId values from TDataSourceFunctionalityCore. |
ELast |
|
|
| Interface access: | internal to technology | |
TUint32 iSpare1;
Description
For future expansion
| Interface access: | internal to technology | |
TUint32 iSpare2;
Description