Abstract:A fast conditional breakpoint is considered to be an essential process control capability of advanced high-performance parallel debuggers. In this paper, the fundamental principles for finding and implementing fast conditional breakpoints are introduced and the design problems associated with their implementations such as code generation, code instrumentation and source program mapping are discussed. Dynamic code instrumentation, combined with hybrid code generation and source breakpoint identification, provides a well-suited solution to those problems. Using an enhanced version of the Dyninst run-time code patching library, a fast conditional breakpoint in a parallel debugger, XBUSTER, is implemented. Compared with GDB experimental results show that XBUSTER can debug a program with a higher efficiency. Compared with other fast conditional breakpoint implementations based on dynamic instrumentation technique, XBUSTER is more portable and functional.