19 #ifndef PROCLIB_DEBUG_ENGINE_HPP
20 #define PROCLIB_DEBUG_ENGINE_HPP
32 class process_debugger;
62 std::map< psystem::process_id_t, std::unique_ptr<process_debugger> >;
176 #endif // PROCLIB_DEBUG_ENGINE_HPP
process_debugger * get_process_debugger(psystem::process_id_t pid) const
Fetch a process_debugger instance.
Definition: debug_engine.cpp:103
Contains the library for debugging running processes.
Definition: base_debug_event_listener.hpp:26
debug_engine(bool kill_on_exit=false) noexcept
Construct an instance of the debug engine.
Definition: debug_engine.cpp:36
Defines the psystem::not_assignable interface.
bool wait_for_event(DWORD ms=INFINITE) const
Block the current thread until any debugger sees an event.
Definition: debug_engine.cpp:115
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
std::map< psystem::process_id_t, std::unique_ptr< process_debugger > > process_debuggers
Container for process_debuggers.
Definition: debug_engine.hpp:62
void enable_debug_privilege() const
Allows the current process to debug other processes.
Definition: debug_engine.cpp:71
Debugging facility for an individual process.
Definition: process_debugger.hpp:49
Contains the process examination "system" and basic frameworks.
Definition: pstack_event_handler.hpp:28
process_debugger & attach_to_process(psystem::process_id_t pid)
Attach a debugger to a running process using the process ID (PID).
Definition: debug_engine.cpp:52
bool const m_kill_on_exit
Was the debug_engine asked to kill attached processes on detach?
Definition: debug_engine.hpp:171
The basic header file for the ProcLib namespce.
A management interface for debugging applications.
Definition: debug_engine.hpp:51
process_debuggers m_debuggers
A set of attached debuggers indexed by process ID (PID)
Definition: debug_engine.hpp:168
Wraps the C++ standard header, memory, to provide a uniform interface.