What are "Clippings?"
[January 29, 2004] IBM alphaWorks Releases Debug Tracer XML-Based Scripting Tool for JVM. Debug Tracer from IBM's alphaWorks Labs is an 'XML-based scripting tool for debugging, tracing, and monitoring the Java Virtual Machine (JVM). It is useful for debugging problems quickly, almost 'real-time,' when a number of problems manifest themselves. The tool does not require any modification to code and can be used to monitor not only the application, but any code in the JVM, including JVM itself. Debug Tracer provides many features such as conditional debugging, logging of JVM events, etc. The debug scripts can be reused during different phases of the life-cycle of the product. For example, they can be used during regression testing: After a script is written to isolate a coding problem the 'first time,' it can then be used as one enhances the code to verify that one has not introduced a problem with subsequent changes. Because the tool does not require user intervention after it is starts and attaches itself to the JVM (which it can do any time during the running of the application), and because it does not have a user interface to control debugging, it can be used to debug situations in which conventional debuggers cannot be used... The JVM provides built-in capabilities for debugging. Before start-up, the JVM can be put in debugging mode using a set of options passed to the JVM. This mode allows the JVM to communicate with a debugging client running in another process. The protocol for communication between the client and the JVM is given by the Java Platform Debugger Architecture (JPDA). JPDA also provides a set of debugging APIs, called Java Debug Interface (JDI), for creating debugging clients. The API library is in 'tools.jar' in any Java 2 and above Java Development Kit (JDK). The debugging paradigm is based on 'events' in the JVM. Clients can register for notification of specific events occurring in the JVM. For instance, a client could ask to be notified when a specific exception occurs or when methods in a class are invoked on an instance of the class... The tool is useful for troubleshooting and debugging applications running in a JVM when human intervention is not possible. It is useful for debugging timing and random problems, where conventional debugging techniques fail. Scripts can be reused during the life cycle of the product. Debugged problems can be retested anytime: during regression, testing, development, etc." The tool runs on any Java-enabled platform with Java 2 and higher. The application was developed by Srinivasan Muralidharan and John R. Hind.