Is a Graphical Debugger for IBM i Really an Improvement?

Development Tools
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

You can try one at no charge since it's already included with the operating system.


A study a few years ago concluded that software bugs cost the U.S. economy alone more than $59 billion annually and that more than a third of that waste could be avoided through better testing. Newer development models, such as Agile, frequently employ test-driven development, which means the developer is being asked to shoulder an increasing portion of the testing before software is sent to the team of formal testers. 


Having a good debugger is highly important to today's developer, and the availability of a quality tool for a given language or platform sometimes can be a deciding factor in whether that platform is selected for a project. The debugger is a critical component for application development as it can isolate problems, shed insight into code paths, and help evaluate the effects of changes to the code. Having a good debugger can also leverage a programmer's efficiency. Not having a good one can be a serious disadvantage in today's production-oriented environment.


The green-screen debuggers available on IBM i have performed faithful duty for decades, but most would probably agree they offer little in the way of ease of use or the galloping productivity that is more likely found in a modern graphical debugger. We make do sometimes with what we have, but it may be of interest to learn that you needn't purchase IBM Rational Developer for Power just to get a good graphical debugger. The IBM System i5 Debugger is an integrated graphical debugger with IBM i and is even included with the operating system at no cost—and has been since V5R1!


In an article last month on IBM developerWorks titled "Debug IBM i Programs Graphically" by IBM software engineers Jin Jiang Zhang, Li Jiu Yu, and Shuang Hong Wang, the authors explain where to find the IBM System i5 Debugger, how to install it, and even how to use the tool they casually refer to as "the graphical IBM i debugger." While they concede it's not quite as robust as the debugger found in IBM Rational Developer for Power, the graphical IBM  i debugger takes far less disk space—about 5 MB—than the Rational debugger (which consumes about a GB), has powerful modern features, and comes free with the operating system. The only way to get the Rational debugger is to purchase the entire Rational IDE product, but the graphical IBM i debugger is free (or more accurately, included in the price of the operating system license).


The graphical IBM i debugger is contained in two JAR files in the IBM Toolbox for Java or can be found bundled with IBM System i Navigator, the Windows client packaged as part of iAccess for Windows. The GUI System i Navigator management console presents the user with a graphical user interface (GUI) instead of the traditional green-screen to better manage your IBM i systems. In addition, it also includes the graphical IBM i debugger for developers. So if you have the IBM System i Navigator client installed on a workstation, all you have to do is follow these steps to start the debugger:


1. In the navigation tree, find My connections > your system name > databases.

2. Right-click a database and select the Run SQL Scripts task.

3. In the Run SQL Scripts window, choose the Debugger task from the Run pull-down menu.


To retrieve the graphical IBM i debugger from the IBM Toolbox for Java, you can either download the open-source JTOpen package to your workstation or locate the pertinent JAR files on a system that has IBM Toolbox for Java installed. JTOpen is the open-source version of the IBM Toolbox for Java, has the same files as the Toolbox, and can be found on SourceForge.


To check if your system has the IBM Toolbox for Java installed, enter the licensed programs command: go licpgm. Then choose Option 11, Install Licensed Programs. Type 1 in the Option column on the entry named Extended Base Directory Support to install the Toolbox. Once you are certain the Toolbox is on the system, copy two JAR files, jt400.jar and tes.jar from /QIBM/ProdData/HTTP/Public/jt400/lib/ on the IBM i (or from the JTOpen package) and add the path of the two files to your CLASSPATH environment variable.


Congratulations! You've completed the installation of the graphical IBM i debugger. However, in order to run the debugger, you will need the right version of the Java Development Kit or Java Runtime Edition installed on your workstation. This depends on your version of IBM i. The minimum Java version is 1.3.1 for OS/400 V5R4 and Java V1.4 for IBM i 7.1. If you think you'll need the help files for the graphical debugger, you will also need to have the jhaul.jar file added to your CLASSPATH. From your workstation command prompt, type in java utilities.Debug, and you should get the sign-on screen for the graphical debugger.


On your workstation, the debugger is composed of three components: Debug Manager, System Debugger, and OS/400 PASE System Debugger. On the server side, the debugger depends on the Debug Hub and Debug Server elements. On the client, Debug Manager helps manage settings by adding or removing systems or users and is responsible for registering clients with the Debug Hub on the server. Since the Debug Hub component stores your user information, it knows to automatically launch the graphical debugger when you issue the Start Debug (STRDBG) CL command. Debug Hub also activates the Debug Server when it receives a request from a remote workstation. The PASE System Debugger is for programs that run in the PASE environment.


In order to learn more and get detailed instructions on how to utilize the graphical IBM i debugger, read the complete IBM article "Debug IBM i Programs Graphically." If you have been a loyal user of the IBM i green-screen debugger for a few years, you may be surprised by what the graphical IBM i debugger can do for your productivity.