Latest from Embedded

ID 82601491 © Vladimir Timofeev | Dreamstime.com
storage_dreamstime_l_82601491
Dreamstime_Josepalbert13_200048283
dreamstime_data__josepalbert13_200048283
ID 107786319 © Pakphipat Charoenrach - Dreamstime.com
id_107786319__pakphipat_charoenrach__dreamstime
ID 318454663 © BiancoBlue - Dreamstime.com
Fighter airplane
ID 86392130 © Belish - Dreamstime.com
promo__id_86392130__belish__dreamstime
ID 124110546 © Maciek905 | Dreamstime.com
code_dreamstime_l_124110546

Trace Tools Enhance System and Application Diagnostics (.PDF Download)

Oct. 6, 2017
Trace Tools Enhance System and Application Diagnostics (.PDF Download)

A debugger can help track down problems in an application. Setting a breakpoint and stepping through code can help developers understand how an application is really working and see where problems may occur. The problem with this approach is many applications are time sensitive and stopping them in the middle of an operation can be catastrophic. For example, hitting a breakpoint in the middle of a motor control application can do bad things to a high-speed, spinning rotor that is no longer being controlled in real time. Likewise, tracking hundreds of threads running in a GPU can be equally challenging.

Trace tools complement conventional debuggers, but they are often overlooked by developers. These tools are typically part of a development suite but take a different approach to debugging, as trace facilities capture large amounts of information that can sometimes be analyzed in near-real time or during post-analysis. Of course, raw trace data tends to be overwhelming in size with thousands or millions of entries with lots of details.

 For example, Green Hills Software’s SuperTrace Probe can capture up to 4 Gbytes of trace data at core clock rates up to 1.2 GHz and trace port speeds over 300 MHz. Instrumented software is another way to capture trace information. Hardware has the advantage of low or no overhead, whereas instrumentation incurs some overhead. Lauterbach’s Trace32 family of hardware platforms even support hypervisor awareness.