Text-based programming has led
to a host of text-based debugging tools,
from command-line interface debuggers
to graphical integrated development environments
(IDEs) that are still essentially
text-based. Arrays and structures may be
displayed in windows, but they’re textbased
at heart. This isn’t to say that graphics
have been completely ignored, though.
DSP data can be plotted with tools like
Analog Devices’ VisualDSP+ and Texas
Instruments’ Code Composer Studio.
TRACING BUGS
Graphics presentation comes into play
in presenting and analyzing trace results.
Express Logic’s TraceX provides realtime
analysis of system events and context
switching that can help identify problem
areas, deadlock, and race conditions more
easily than relying on breakpoints and
print statements (Fig. 1). It also can hook
into application programming interface
(API) calls without requiring debug versions
of an application.
Green Hills Software’s TimeMachine
provides this type of graphical trace facility
as well, but it also adds the ability to step
forward and backward through the code
that is trace-setting virtual breakpoint and
performing path analysis using the Path-
Analyzer tool. TimeMachine works with hardware trace systems, and TraceEdge
provides software support for devices without
integrated trace hardware.
DRAW YOUR OWN CONCLUSIONS
Better presentation of internal application
information in real time often can be
accomplished by turning to the graphical
interfaces that most applications present to
a user, including controls like buttons and
sliders. Developers could do this, and they
frequently do so for applications that provide
a graphical user interface (GUI). The
task is often daunting, though, for what
are often considered “simple” debugging
chores. Still, there are significant benefits to
having better debugging tools.
This is where tools like Micrium’s uC/
Probe comes to the rescue (Fig. 2). It
allows the easy creation of a user interface
and linkage between the controls and
internal application functions and data
structures. It also lets developers choose
the kind of display that best suits the data,
and it does so without major modification
of the application.
PART OF THE VISUAL PLAN
Tools like uC/Probe are starting to bring
facilities that National Instruments’ Lab-
VIEW have known for quite a while (Fig.
3). LabVIEW combines a graphical programming
window with a matching user
interface window where program objects
are automatically linked to controls on the
user interface window.
Developers benefit from LabVIEW’s
default static definition of virtual instruments
(VIs), providing a one-to-one relationship
between the VI code and user interface.
This tends to make a similar approach
for languages like C/C++ and Java a little
more challenging but not impossible, as NI’s
object-oriented enhancements to LabVIEW
have shown as well as tools like uC/Probe
that target C/C++.
EXPRESS LOGIC • www.rtos.com
MICRIUM • www.micrium.com
NATIONAL INSTRUMENTS • www.ni.com