This chapter describes the debugger, which is used to detect logic errors in programs. The debugger can be used to set breakpoints to halt execution of a program and to verify execution of a program by confirming data item values. The debugger supports debugging of multithreaded programs; however it does not support multiple debug sessions.