Continued ripping up the source.
[aesalon.git] / monitor / src / ptrace / TrapObserver.cpp
blob5b2da91d6c8ae1d9233d026997a96a74055ff8f8
1 #include <signal.h>
2 #include <iostream>
4 #include "TrapObserver.h"
5 #include "Initializer.h"
6 #include "PTraceException.h"
8 namespace Aesalon {
9 namespace Monitor {
10 namespace PTrace {
12 bool TrapObserver::handle_signal(int signal, int status) {
13 if(signal != SIGTRAP) return false;
14 Misc::SmartPointer<ProgramManager> program_manager = Initializer::get_instance()->get_program_manager();
16 std::cout << "TrapObserver::handle_signal(): calling handle_breakpoint() . . ." << std::endl;
17 program_manager->get_ptrace_portal()->handle_breakpoint();
18 std::cout << "TrapObserver::handle_signal(): calling continue_execution() . . ." << std::endl;
19 program_manager->get_ptrace_portal()->continue_execution();
20 return true;
23 } // namespace PTrace
24 } // namespace Monitor
25 } // namespace Aesalon