19 #ifndef PROCLIB_PROCESS_DEBUGGER_HPP
20 #define PROCLIB_PROCESS_DEBUGGER_HPP
29 class base_debug_event_listener;
201 std::unique_ptr<dispatching_event_listener> const
m_events;
206 #endif // PROCLIB_PROCESS_DEBUGGER_HPP
Contains the library for debugging running processes.
Definition: base_debug_event_listener.hpp:26
event_listener_id_t add_event_listener(std::shared_ptr< base_debug_event_listener > const &l)
Add a listener for debugger events sent to this process.
Definition: process_debugger.cpp:222
process_debugger(psystem::process_id_t pid)
Create an instance of the debugger with a given process ID.
Definition: process_debugger.cpp:175
bool remove_event_listener(event_listener_id_t id)
Remove an already registered event listener.
Definition: process_debugger.cpp:233
std::unique_ptr< dispatching_event_listener > const m_events
Debug events will be passed here, and forwarded to added custom versions of the listeners.
Definition: process_debugger.hpp:195
Defines the psystem::not_assignable interface.
psystem::process_id_t get_process_id() const noexcept
Get the ID of the process being debugged here.
Definition: process_debugger.cpp:216
Definition: shared_handle.hpp:782
Remove the ability to copy or reassign from derived classes.
Definition: not_copyable.hpp:43
DWORD process_id_t
Data-type that stores a process ID (PID).
Definition: platform.hpp:241
The implementation class for passing debugger events to registered listeners.
Definition: process_debugger.cpp:47
void set_kill_process_on_exit(bool kill_on_exit)
Determine the fate of a process after the debugger detaches.
Definition: process_debugger.cpp:240
int32_t event_listener_id_t
An unique ID for events registered with add_event_listener()
Definition: process_debugger.hpp:57
Debugging facility for an individual process.
Definition: process_debugger.hpp:49
A polymorphic interface for detecting events received by the debugger.
Definition: base_debug_event_listener.hpp:44
static constexpr event_listener_id_t invalid_event_listener_id
Indicates that the value stored in a process_debugger::event_listener_id_t is not valid...
Definition: process_debugger.hpp:61
Contains the process examination "system" and basic frameworks.
Definition: pstack_event_handler.hpp:28
~process_debugger()
Detach the debugger from the process.
Definition: process_debugger.cpp:186
base_debug_event_listener & get_events() const noexcept
Access the main event handler for this process.
Definition: process_debugger.cpp:209
The basic header file for the ProcLib namespce.
Wraps the C++ standard header, memory, to provide a uniform interface.
psystem::process_id_t const m_process_id
The Process ID (PID) of the process debugged by this instance.
Definition: process_debugger.hpp:190