Electronic Design

Looking For Debugging Standards

The debugging realm has few standards. A network has even fewer.

One debugging standard is the IEEE-ISTO Nexus 5001 Forum's Nexus 5001 standard. It was initially designed for embedded processors either on a board or in a system-on-a-chip (SoC). It doesn't lend itself to network debugging by itself, unless additional hardware is interposed between the device under test and the network. Of course, there's no requirement that the Nexus 5001 API be implemented on Nexus 5001 hardware, but so far that has been the case every time.

Java has three standards associated with its debugging interface. The first is the Java Virtual Machine (VM) Debug Interface on the Java VM. The second is the Java Debug Wire Protocol used to connect the VM to a debugger. Finally, there's a Java Debug Interface (JDI), which consists of a set of Java classes that allow a Java-based debugger to debug an application running on a Java VM.

The location of the debugger and the VM is irrelevant as long as a communication link that supports the Java Debug Wire Protocol exists between the two. TCP/IP is frequently used to link Java debuggers and applications, but almost any communication mechanism can be implemented. The Java VM Debug Interface is an optional component for most Java VM implementations. This allows compact environments to save space, but the tradeoff is the lack of debugging support.

An open debug standard gives Java an edge in the development arena because the debugging tools don't have to be tied to a particular processor, Java VM implementation, or vendor. This may give incentive for debug standards that will support other languages and environments.

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.