LLDB  mainline
IDebugDelegate.h
Go to the documentation of this file.
1 //===-- IDebugDelegate.h ----------------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef liblldb_Plugins_Process_Windows_IDebugDelegate_H_
10 #define liblldb_Plugins_Process_Windows_IDebugDelegate_H_
11 
12 #include "ForwardDecl.h"
13 #include "lldb/lldb-forward.h"
14 #include "lldb/lldb-types.h"
15 #include <string>
16 
17 namespace lldb_private {
18 class Status;
19 class HostThread;
20 
21 // IDebugDelegate
22 //
23 // IDebugDelegate defines an interface which allows implementors to receive
24 // notification of events that happen in a debugged process.
26 public:
27  virtual ~IDebugDelegate() {}
28 
29  virtual void OnExitProcess(uint32_t exit_code) = 0;
30  virtual void OnDebuggerConnected(lldb::addr_t image_base) = 0;
31  virtual ExceptionResult OnDebugException(bool first_chance,
32  const ExceptionRecord &record) = 0;
33  virtual void OnCreateThread(const HostThread &thread) = 0;
34  virtual void OnExitThread(lldb::tid_t thread_id, uint32_t exit_code) = 0;
35  virtual void OnLoadDll(const ModuleSpec &module_spec,
36  lldb::addr_t module_addr) = 0;
37  virtual void OnUnloadDll(lldb::addr_t module_addr) = 0;
38  virtual void OnDebugString(const std::string &string) = 0;
39  virtual void OnDebuggerError(const Status &error, uint32_t type) = 0;
40 };
41 }
42 
43 #endif
lldb_private::IDebugDelegate::OnCreateThread
virtual void OnCreateThread(const HostThread &thread)=0
lldb_private::IDebugDelegate::OnExitThread
virtual void OnExitThread(lldb::tid_t thread_id, uint32_t exit_code)=0
lldb_private::HostThread
Definition: HostThread.h:29
lldb_private::IDebugDelegate::OnExitProcess
virtual void OnExitProcess(uint32_t exit_code)=0
lldb_private::IDebugDelegate::OnDebuggerConnected
virtual void OnDebuggerConnected(lldb::addr_t image_base)=0
lldb::addr_t
uint64_t addr_t
Definition: lldb-types.h:83
lldb_private::IDebugDelegate::OnDebugException
virtual ExceptionResult OnDebugException(bool first_chance, const ExceptionRecord &record)=0
lldb_private::IDebugDelegate
Definition: IDebugDelegate.h:25
error
static llvm::raw_ostream & error(Stream &strm)
Definition: CommandReturnObject.cpp:17
ForwardDecl.h
ExceptionResult
ExceptionResult
Definition: ForwardDecl.h:16
string
string(SUBSTRING ${p} 10 -1 pStripped) if($
Definition: Plugins/CMakeLists.txt:40
lldb_private::IDebugDelegate::OnUnloadDll
virtual void OnUnloadDll(lldb::addr_t module_addr)=0
lldb-types.h
lldb_private::ModuleSpec
Definition: ModuleSpec.h:26
lldb_private::Status
Definition: Status.h:44
uint32_t
lldb_private::IDebugDelegate::~IDebugDelegate
virtual ~IDebugDelegate()
Definition: IDebugDelegate.h:27
lldb-forward.h
lldb_private::IDebugDelegate::OnDebuggerError
virtual void OnDebuggerError(const Status &error, uint32_t type)=0
lldb_private
A class that represents a running process on the host machine.
Definition: SBCommandInterpreterRunOptions.h:16
lldb_private::IDebugDelegate::OnLoadDll
virtual void OnLoadDll(const ModuleSpec &module_spec, lldb::addr_t module_addr)=0
lldb_private::IDebugDelegate::OnDebugString
virtual void OnDebugString(const std::string &string)=0
lldb_private::LineStatus::Status
@ Status
lldb_private::ExceptionRecord
Definition: ExceptionRecord.h:25
lldb::tid_t
uint64_t tid_t
Definition: lldb-types.h:86