"Why a new debugger?" you may ask. The answer is simple: increased productivity achieved through a simple, easy to use interface and advanced features such as expression evaluation , conditional breakpoints, watchpoints, and scriptability.
While integrated development environments that include debuggers may abound on other popular platforms, Linux offers few choices; while several popular front-ends for GDB exist, there are not too many actual debugger engines around.
When it comes to debugging general applications designed to run in user mode, the developer's choices are mainly limited to GDB.
The free software is an open box in theory, but the complexity of the code may turn it into a closed box in practice. GDB contains several hundred thousand lines of code; if you are not part of the community that has developed it for the last ten years, or have not followed closely the mailing lists, adding a new feature is an almost impossible task.
Although functionality is neatly separated into libraries, the design carries a monolithic architecture legacy. As it is the case with most of GNU programs, GDB wants to be portable and work on every computing platform ever imagined. This may be a noble goal, but it increases the complexity of the code.
By contrast, ZeroBugs can be customized, using one of the two API's that it provides: the ZDK (Zero Development Kit), a collection of C++ classes on which the debugger is built, or a lighter weight Python API.