documentation

This commit is contained in:
Duncan 2015-03-25 13:23:42 +01:00
parent 5733c67818
commit 6197f91790
2 changed files with 63 additions and 18 deletions

View File

@ -52,15 +52,60 @@ namespace GleeBug
const ProcessInfo & GetMainProcess();
protected:
virtual void cbCreateProcessEvent(CREATE_PROCESS_DEBUG_INFO* createProcess) {};
virtual void cbExitProcessEvent(EXIT_PROCESS_DEBUG_INFO* exitProcess) {};
virtual void cbCreateThreadEvent(CREATE_THREAD_DEBUG_INFO* createThread) {};
virtual void cbExitThreadEvent(EXIT_THREAD_DEBUG_INFO* exitThread) {};
virtual void cbLoadDllEvent(LOAD_DLL_DEBUG_INFO* loadDll) {};
virtual void cbUnloadDllEvent(UNLOAD_DLL_DEBUG_INFO* unloadDll) {};
virtual void cbExceptionEvent(EXCEPTION_DEBUG_INFO* exceptionInfo) {};
virtual void cbDebugStringEvent(OUTPUT_DEBUG_STRING_INFO* debugString) {};
virtual void cbRipEvent(RIP_INFO* rip) {};
/**
\brief Process creation debug event callback. Provide an implementation to use this callback.
\param createProcess Information about the process created.
*/
virtual void cbCreateProcessEvent(const CREATE_PROCESS_DEBUG_INFO* createProcess) {};
/**
\brief Process termination debug event callback. Provide an implementation to use this callback.
\param exitProcess Information about the process terminated.
*/
virtual void cbExitProcessEvent(const EXIT_PROCESS_DEBUG_INFO* exitProcess) {};
/**
\brief Thread creation debug event callback. Provide an implementation to use this callback.
\param createThread Information about the thread created.
*/
virtual void cbCreateThreadEvent(const CREATE_THREAD_DEBUG_INFO* createThread) {};
/**
\brief Thread termination debug event callback. Provide an implementation to use this callback.
\param exitThread Information about the thread terminated.
*/
virtual void cbExitThreadEvent(const EXIT_THREAD_DEBUG_INFO* exitThread) {};
/**
\brief DLL load debug event callback. Provide an implementation to use this callback.
\param loadDll Information about the DLL loaded.
*/
virtual void cbLoadDllEvent(const LOAD_DLL_DEBUG_INFO* loadDll) {};
/**
\brief DLL unload debug event callback. Provide an implementation to use this callback.
\param unloadDll Information about the DLL unloaded.
*/
virtual void cbUnloadDllEvent(const UNLOAD_DLL_DEBUG_INFO* unloadDll) {};
/**
\brief Exception debug event callback. Provide an implementation to use this callback.
\param exceptionInfo Information about the exception.
*/
virtual void cbExceptionEvent(const EXCEPTION_DEBUG_INFO* exceptionInfo) {};
/**
\brief Debug string debug event callback. Provide an implementation to use this callback.
\param debugString Information about the debug string.
*/
virtual void cbDebugStringEvent(const OUTPUT_DEBUG_STRING_INFO* debugString) {};
/**
\brief RIP debug event callback. Provide an implementation to use this callback.
\param rip Information about the RIP event.
*/
virtual void cbRipEvent(const RIP_INFO* rip) {};
virtual void createProcessEvent(CREATE_PROCESS_DEBUG_INFO* createProcess);
virtual void exitProcessEvent(EXIT_PROCESS_DEBUG_INFO* exitProcess);

View File

@ -6,47 +6,47 @@
class MyDebugger : public GleeBug::Debugger
{
protected:
virtual void cbCreateProcessEvent(CREATE_PROCESS_DEBUG_INFO* createProcess)
virtual void cbCreateProcessEvent(const CREATE_PROCESS_DEBUG_INFO* createProcess)
{
printf("Process %d created with entry 0x%p\n", _debugEvent.dwProcessId, createProcess->lpStartAddress);
};
virtual void cbExitProcessEvent(EXIT_PROCESS_DEBUG_INFO* exitProcess)
virtual void cbExitProcessEvent(const EXIT_PROCESS_DEBUG_INFO* exitProcess)
{
printf("Process %d terminated with exit code 0x%08X\n", _debugEvent.dwProcessId, exitProcess->dwExitCode);
}
virtual void cbCreateThreadEvent(CREATE_THREAD_DEBUG_INFO* createThread)
virtual void cbCreateThreadEvent(const CREATE_THREAD_DEBUG_INFO* createThread)
{
printf("Thread %d created with entry 0x%p\n", _debugEvent.dwThreadId, createThread->lpStartAddress);
};
virtual void cbExitThreadEvent(EXIT_THREAD_DEBUG_INFO* exitThread)
virtual void cbExitThreadEvent(const EXIT_THREAD_DEBUG_INFO* exitThread)
{
printf("Thread %d terminated with exit code 0x%08X\n", _debugEvent.dwThreadId, exitThread->dwExitCode);
};
virtual void cbLoadDllEvent(LOAD_DLL_DEBUG_INFO* loadDll)
virtual void cbLoadDllEvent(const LOAD_DLL_DEBUG_INFO* loadDll)
{
printf("DLL loaded at 0x%p\n", loadDll->lpBaseOfDll);
};
virtual void cbUnloadDllEvent(UNLOAD_DLL_DEBUG_INFO* unloadDll)
virtual void cbUnloadDllEvent(const UNLOAD_DLL_DEBUG_INFO* unloadDll)
{
printf("DLL 0x%p unloaded\n", unloadDll->lpBaseOfDll);
};
virtual void cbExceptionEvent(EXCEPTION_DEBUG_INFO* exceptionInfo)
virtual void cbExceptionEvent(const EXCEPTION_DEBUG_INFO* exceptionInfo)
{
printf("Exception with code 0x%08X\n", exceptionInfo->ExceptionRecord);
};
virtual void cbDebugStringEvent(OUTPUT_DEBUG_STRING_INFO* debugString)
virtual void cbDebugStringEvent(const OUTPUT_DEBUG_STRING_INFO* debugString)
{
printf("Debug string at 0x%p with length %d\n", debugString->lpDebugStringData, debugString->nDebugStringLength);
};
virtual void cbRipEvent(RIP_INFO* rip)
virtual void cbRipEvent(const RIP_INFO* rip)
{
printf("RIP event type 0x%X, error 0x%X", rip->dwType, rip->dwError);
};