Writing a Linux debugger