1 //===-- IDebugDelegate.h ----------------------------------------*- C++ -*-===//
\r
3 // The LLVM Compiler Infrastructure
\r
5 // This file is distributed under the University of Illinois Open Source
\r
6 // License. See LICENSE.TXT for details.
\r
8 //===----------------------------------------------------------------------===//
\r
10 #ifndef liblldb_Plugins_Process_Windows_IDebugDelegate_H_
\r
11 #define liblldb_Plugins_Process_Windows_IDebugDelegate_H_
\r
13 #include "ForwardDecl.h"
\r
14 #include "lldb/lldb-forward.h"
\r
15 #include "lldb/lldb-types.h"
\r
18 namespace lldb_private
\r
23 //----------------------------------------------------------------------
\r
26 // IDebugDelegate defines an interface which allows implementors to receive
\r
27 // notification of events that happen in a debugged process.
\r
28 //----------------------------------------------------------------------
\r
29 class IDebugDelegate
\r
32 virtual ~IDebugDelegate() {}
\r
34 virtual void OnExitProcess(uint32_t exit_code) = 0;
\r
35 virtual void OnDebuggerConnected(lldb::addr_t image_base) = 0;
\r
36 virtual ExceptionResult OnDebugException(bool first_chance, const ExceptionRecord &record) = 0;
\r
37 virtual void OnCreateThread(const HostThread &thread) = 0;
\r
38 virtual void OnExitThread(lldb::tid_t thread_id, uint32_t exit_code) = 0;
\r
39 virtual void OnLoadDll(const ModuleSpec &module_spec, lldb::addr_t module_addr) = 0;
\r
40 virtual void OnUnloadDll(lldb::addr_t module_addr) = 0;
\r
41 virtual void OnDebugString(const std::string &string) = 0;
\r
42 virtual void OnDebuggerError(const Error &error, uint32_t type) = 0;
\r