Files
debugger/main.c
Andre Heber 0e3d59f447 main loop
2023-11-25 13:09:16 +01:00

29 lines
519 B
C

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/ptrace.h>
#include "debugger.h"
int main(int argc, char* argv[]) {
if (argc < 2) {
printf("Usage: %s <filename>\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);
}