#include #include #include #include #include "debugger.h" int main(int argc, char* argv[]) { if (argc < 2) { printf("Usage: %s \n", argv[0]); return 1; } char * prog = argv[1]; int pid = fork(); if (pid == 0) { // child ptrace(PT_TRACE_ME, 0, NULL, 0); execl(prog, prog, NULL); } else { // parent printf("Started debugging %s with pid %d\n", prog, pid); debugger_t *dbg = debugger_create(prog, pid); debugger_run(dbg); } exit(0); }