Defines a GDB target. More...
#include <IGDBTarget.h>
Public Member Functions | |
virtual GDBStatus | GetLastStopRecord (TargetStopRecord *pRec)=0 |
Returns the information explaining why the target has stopped (e.g. stopped at a breakpoint). | |
virtual GDBStatus | ResumeAndWait (int threadID)=0 |
Resumes the target and indefinitely waits till a next debug event occurs. | |
virtual GDBStatus | Step (int threadID)=0 |
Resumes the target in a single-step mode. | |
virtual GDBStatus | SendBreakInRequestAsync ()=0 |
Requests the target to stop executing (i.e. forces a breakpoint) | |
Public Member Functions inherited from GDBServerFoundation::IStoppedGDBTarget | |
virtual const PlatformRegisterList * | GetRegisterList ()=0 |
Returns a pointer to a persistent list of the registers supported by the target. | |
virtual GDBStatus | ReadFrameRelatedRegisters (int threadID, RegisterSetContainer ®isters)=0 |
Reads program counter, stack pointer and stack base pointer registers. | |
virtual GDBStatus | ReadTargetRegisters (int threadID, RegisterSetContainer ®isters)=0 |
Reads the values of all registers from the target. | |
virtual GDBStatus | WriteTargetRegisters (int threadID, const RegisterSetContainer ®isters)=0 |
Writes one or more target registers. | |
virtual GDBStatus | ReadTargetMemory (ULONGLONG Address, void *pBuffer, size_t *pSizeInBytes)=0 |
Reads the memory of the underlying target. | |
virtual GDBStatus | WriteTargetMemory (ULONGLONG Address, const void *pBuffer, size_t sizeInBytes)=0 |
Writes the memory of the underlying target. | |
virtual GDBStatus | GetDynamicLibraryList (std::vector< DynamicLibraryRecord > &libraries)=0 |
Fills the list of the dynamic libraries currently loaded in the target. | |
virtual GDBStatus | GetThreadList (std::vector< ThreadRecord > &threads)=0 |
Fills the list of the threads currently present in the target. | |
virtual GDBStatus | SetThreadModeForNextCont (int threadID, DebugThreadMode mode, OUT bool *pNeedRestoreCall, IN OUT INT_PTR *pRestoreCookie)=0 |
Sets the mode in which an individual thread will continue before the next debug event. | |
virtual GDBStatus | Terminate ()=0 |
Terminates the target. | |
virtual GDBStatus | CreateBreakpoint (BreakpointType type, ULONGLONG Address, unsigned kind, OUT INT_PTR *pCookie)=0 |
Sets a breakpoint at a given address. | |
virtual GDBStatus | RemoveBreakpoint (BreakpointType type, ULONGLONG Address, INT_PTR Cookie)=0 |
Removes a previously set breakpoint. | |
virtual GDBStatus | ExecuteRemoteCommand (const std::string &command, std::string &output)=0 |
This handler is invoked when user sends an arbitrary command to the GDB stub ("mon <command>" in GDB). | |
virtual IFLASHProgrammer * | GetFLASHProgrammer ()=0 |
Returns a pointer to an IFLASHProgrammer instance, or NULL if not supported. The returned instance should be persistent (e.g. the same object that implements IStoppedGDBTarget). | |
virtual | ~IStoppedGDBTarget () |
Detailed Description
Defines a GDB target.
- Remarks
- Note that the target is assumed to be already stopped when an object implementing IStoppedGDBTarget is created. Thus, the first method of this interface to be called will be GetLastStopRecord().
- Examples:
- SimpleWin32Server/SimpleWin32Server.cpp.
Member Function Documentation
|
pure virtual |
Returns the information explaining why the target has stopped (e.g. stopped at a breakpoint).
- Remarks
- This method can be called multiple times for the same stop event. Thus, it should not clear any caches or flags.
|
pure virtual |
Resumes the target and indefinitely waits till a next debug event occurs.
This method should resume the target and wait for the next debug event to occur. If SetThreadModeForNextCont() was previously called for one or more threads, the threadID will be 0 and the method should ensure that the thread previously set to single-step or halt mode will remain in that mode until the next debug event.
|
pure virtual |
Requests the target to stop executing (i.e. forces a breakpoint)
- Remarks
- This method can be executed from an arbitrary thread (either an internal GDBServer worker thread, or the main thread) and thus should be fully thread-safe, should not wait for any event to complete and should return immediately.
|
pure virtual |
Resumes the target in a single-step mode.
This method is called to do single-stepping if SetThreadModeForNextCont() is not supported. It should perform a single step on the specified thread and wait until the step continues.
The documentation for this class was generated from the following file: