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. ECodeSegments
Indicates whether getting code segments is supported ECoreLast
A debug agent should find the number of core tags from the DFBlock rather than t...EExceptionStacks
Indicates whether obtaining the exception stacks is supported EExecutableList
Indicates whether getting the executable list is supported ELast
EProcessList
Indicates whether getting the process list is supported EReadMemory
Indicates whether reading memory is supported. EReadRegisters
Indicates whether reading registers is supported. EReadTraceBuffer
Indicates whether reading the trace buffer is supported. ERegisterList
Indicates whether getting the register list is supported ERomBuildInfo
Indicates whether obtaining the ROM build info is supported ESystemLocks
Indicates whether obtaining the System Locks info is supported ETagHeaderIdCore
Identifies a TTagHeader with associated TTag elements with iTagId values from TD...EThreadList
Indicates 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()const
Returns 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...TDataSourceFunctionalityCore
These tags define what kinds of core functionality is supported by a given imple...TDataSourceTagHeader
Information in the Data Source functionality block is represented as a concatena...TDataSourceTagHeaderId
Enumeration used to identify CCrashDataSource::TDataSourceTagHeader structures, ...iSpare1
For 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:
TRegisterData
Detailed 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:
CProcessInfo
Class 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:
CProcessInfo
Class 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:
CExecutableInfo
Class 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:
CExecutableInfo
Class 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:
CThreadInfo
Class 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
:
iNumTags
The number of TTag elements in the array associated with this TTagHeader. iTagHdrId
Value 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