diff --git a/src/main.cpp b/src/main.cpp index 496fc6e..0ecae8d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,13 +1,11 @@ #include "symbol.hpp" +#include "tracer.hpp" #include #include #include #include #include #include -#include -#include -#include #include int main(int argc, char **argv) { @@ -68,8 +66,15 @@ int main(int argc, char **argv) { std::cout << "Size: " << var_info->size << " bytes" << std::endl; std::cout << std::string(50, '-') << std::endl; - // TODO: Implement ptrace watchpoint - std::cerr << "Ptrace watchpoint not yet implemented" << std::endl; + // Close DWARF resources before forking + dwarf_finish(dbg); + close(fd); + + // Start watching the variable + Tracer tracer; + tracer.watch_variable(exec_path.string(), var_info->address, var_info->size); + + return 0; } else { // List mode: show all global integer variables symbol.list_global_integer_vars(dbg);