Multiple threads of control add new challenges to the task of application debugging and require the development of new debuggers to meet these challenges. This paper describes the design and implementation of modifications to an existing debugger (gdb) for debugging multithreaded applications under the Mach operating system. It also describes the operating facilities that support it. Although certain implementations details are specific to Mach, the underlying design principles are applicable to other systems that support threads in a Unix compatible environment.