Implements basic GDB stub functionality (recognizing packet types, reporting features, formatting common replies). More...
#include <BasicGDBStub.h>
Public Member Functions | |
virtual StubResponse | HandleRequest (const BazisLib::TempStringA &requestType, char splitterChar, const BazisLib::TempStringA &requestData) |
Handles a fully unescaped RLE-expanded request from GDB. | |
BasicGDBStub () | |
Public Member Functions inherited from GDBServerFoundation::IGDBStub | |
virtual | ~IGDBStub () |
Public Member Functions inherited from GDBServerFoundation::IBreakInTarget | |
virtual void | OnBreakInRequest ()=0 |
Protected Member Functions | |
virtual StubResponse | Handle_qSupported (const BazisLib::TempStringA &requestData) |
Stores features supported by GDB and reports features supported by the stub. | |
virtual StubResponse | Handle_H (const BazisLib::TempStringA &requestType) |
Sets thread ID for subsequent thread-related commands. | |
virtual StubResponse | Handle_QueryStopReason ()=0 |
virtual StubResponse | Handle_g (int threadID)=0 |
Returns the values of all target registers in one block. | |
virtual StubResponse | Handle_G (int threadID, const BazisLib::TempStringA ®isterValueBlock)=0 |
Sets the value of all target registers. | |
virtual StubResponse | Handle_P (int threadID, const BazisLib::TempStringA ®isterIndex, const BazisLib::TempStringA ®isterValue)=0 |
Sets the value of exactly one register. | |
virtual StubResponse | Handle_m (const BazisLib::TempStringA &addr, const BazisLib::TempStringA &length)=0 |
Reads target memory. | |
virtual StubResponse | Handle_M (const BazisLib::TempStringA &addr, const BazisLib::TempStringA &length, const BazisLib::TempStringA &data)=0 |
Writes target memory. | |
virtual StubResponse | Handle_X (const BazisLib::TempStringA &addr, const BazisLib::TempStringA &length, const BazisLib::TempStringA &binaryData)=0 |
Writes target memory, data is transmitted in binary format. | |
virtual StubResponse | Handle_c (int threadID)=0 |
Continue executing selected thread. | |
virtual StubResponse | Handle_s (int threadID)=0 |
Single-step selected thread. | |
virtual StubResponse | Handle_qfThreadInfo ()=0 |
Return a list of all thread IDs. | |
virtual StubResponse | Handle_qsThreadInfo ()=0 |
virtual StubResponse | Handle_qThreadExtraInfo (const BazisLib::TempStringA &strThreadID)=0 |
Return user-friendly thread description. | |
virtual StubResponse | Handle_T (const BazisLib::TempStringA &strThreadID)=0 |
Check whether the specified thread is alive. | |
virtual StubResponse | Handle_qC ()=0 |
Returns the current thread ID. | |
virtual StubResponse | Handle_vCont (const BazisLib::TempStringA &arguments)=0 |
Sets step mode for each thread independently and continues execution. | |
virtual StubResponse | Handle_k ()=0 |
Kills the process. | |
virtual StubResponse | Handle_Zz (bool setBreakpoint, char type, const BazisLib::TempStringA &addr, const BazisLib::TempStringA &kind, const BazisLib::TempStringA &conditions)=0 |
Sets or removes a breakpoint. | |
virtual StubResponse | Handle_qCRC (const BazisLib::TempStringA &addr, const BazisLib::TempStringA &length)=0 |
Computes CRC of a given memory block. | |
virtual StubResponse | Handle_qRcmd (const BazisLib::TempStringA &command)=0 |
Executes an arbitrary target command sent by GDB. | |
virtual StubResponse | Handle_vFlashErase (const BazisLib::TempStringA &addr, const BazisLib::TempStringA &length)=0 |
virtual StubResponse | Handle_vFlashWrite (const BazisLib::TempStringA &addr, const BazisLib::TempStringA &binaryData)=0 |
virtual StubResponse | Handle_vFlashDone ()=0 |
StubResponse | StopRecordToStopReply (const TargetStopRecord &rec, const char *pReportedRegisterValues=NULL, bool updateLastReportedThreadID=true) |
int | GetThreadIDForOp (bool isRegOp) |
void | AppendRegisterValueToString (const RegisterValue &val, size_t sizeInBytes, BazisLib::DynamicStringA &str, const char *pSuffix=NULL) |
StubResponse | FormatGDBStatus (GDBStatus status) |
void | RegisterStubFeature (const char *pFeature) |
virtual void | ResetAllCachesWhenResumingTarget () |
Protected Attributes | |
int | m_ThreadIDForCont |
int | m_ThreadIDForReg |
int | m_LastReportedCurrentThreadID |
Detailed Description
Implements basic GDB stub functionality (recognizing packet types, reporting features, formatting common replies).
Constructor & Destructor Documentation
GDBServerFoundation::BasicGDBStub::BasicGDBStub | ( | ) |
Member Function Documentation
|
protected |
|
protected |
|
protected |
|
protectedpure virtual |
Continue executing selected thread.
Implemented in GDBServerFoundation::GDBStub.
|
protectedpure virtual |
Returns the values of all target registers in one block.
Implemented in GDBServerFoundation::GDBStub.
|
protectedpure virtual |
Sets the value of all target registers.
Implemented in GDBServerFoundation::GDBStub.
|
protectedvirtual |
Sets thread ID for subsequent thread-related commands.
|
protectedpure virtual |
Kills the process.
Implemented in GDBServerFoundation::GDBStub.
|
protectedpure virtual |
Reads target memory.
Implemented in GDBServerFoundation::GDBStub.
|
protectedpure virtual |
Writes target memory.
Implemented in GDBServerFoundation::GDBStub.
|
protectedpure virtual |
Sets the value of exactly one register.
Implemented in GDBServerFoundation::GDBStub.
|
protectedpure virtual |
Returns the current thread ID.
Implemented in GDBServerFoundation::GDBStub.
|
protectedpure virtual |
Computes CRC of a given memory block.
Implemented in GDBServerFoundation::GDBStub.
|
protectedpure virtual |
Return a list of all thread IDs.
Implemented in GDBServerFoundation::GDBStub.
|
protectedpure virtual |
Executes an arbitrary target command sent by GDB.
Implemented in GDBServerFoundation::GDBStub.
|
protectedpure virtual |
Implemented in GDBServerFoundation::GDBStub.
|
protectedvirtual |
Stores features supported by GDB and reports features supported by the stub.
|
protectedpure virtual |
Return user-friendly thread description.
Implemented in GDBServerFoundation::GDBStub.
|
protectedpure virtual |
Implemented in GDBServerFoundation::GDBStub.
|
protectedpure virtual |
Single-step selected thread.
Implemented in GDBServerFoundation::GDBStub.
|
protectedpure virtual |
Check whether the specified thread is alive.
Implemented in GDBServerFoundation::GDBStub.
|
protectedpure virtual |
Sets step mode for each thread independently and continues execution.
Implemented in GDBServerFoundation::GDBStub.
|
protectedpure virtual |
Implemented in GDBServerFoundation::GDBStub.
|
protectedpure virtual |
Implemented in GDBServerFoundation::GDBStub.
|
protectedpure virtual |
Implemented in GDBServerFoundation::GDBStub.
|
protectedpure virtual |
Writes target memory, data is transmitted in binary format.
Implemented in GDBServerFoundation::GDBStub.
|
protectedpure virtual |
Sets or removes a breakpoint.
Implemented in GDBServerFoundation::GDBStub.
|
virtual |
Handles a fully unescaped RLE-expanded request from GDB.
Implements GDBServerFoundation::IGDBStub.
Reimplemented in GDBServerFoundation::GDBStub.
|
inlineprotected |
|
protectedvirtual |
Reimplemented in GDBServerFoundation::GDBStub.
|
protected |
Member Data Documentation
|
protected |
|
protected |
|
protected |
The documentation for this class was generated from the following files: