LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
jdoyle

Improvements to the Desktop Execution Trace Toolkit

Status: Completed
Available in Desktop Execution Trace Toolkit 2013

I hope this is the correct venue for ideas about the desktop execution trace toolkit.  It is a LabVIEW-related tool.

 

In the course of investigating several LabVIEW crashes, one of NIs AEs suggested the DETT.  This seemed like a really good idea because it runs as a separate application and therefore doesn't lose data on the crash.  Better yet, the last thing in the trace would be likely to be related to the crash.  So I started my eval period of the DETT.  I am debugging a LV 8.6.1 program but since I have installed LV 2009, the 2009 version of DETT came up when I started tracing.  It seemed to work, however.

 

Sadly, the DETT sucked.  After about a minute of tracing, it got buffer overflow and popped up this dialog:

trace tool mem full.PNG

When I dismissed this, I got the usual popup about "Not enough memory to complete this operation."  Following this, the DETT was basically frozen.  I couldn't view the trace, specify filters, nothing.  I had to restart the application.  I tried a few hacks like disabling screen update while running, but nothing changed.  The DETT app was using about 466 MB at the time, and adequate system memory was available.

 

Possibly this is a stripped-down eval version.  If so, it is a mistake to make an eval  version work so badly that one is pursuaded not to buy the full version, which is the way I feel now.

 

I have some suggestions about how to improve the tool.  If these are implemented, I would recommend that we buy the full version.

 

  1. Stop barfing when the buffer overflows.
  2. A wraparound (circular) buffer should be an option.  Often one is interested in the latest events, not the first ones. 
  3. There should be a way to specify an event as a trigger to start and/or stop tracing, like in a logic analyzer.  Triggers could be an event match, VI match, user event, etc.
  4. The tools for analyzing events in the buffer (when it doesn't overflow) are useless. A search on a VI that is obviously present fails to find any event for that VI.  Searching should be able to be done based on something like the trigger mentioned above.
  5. The display filter is a good start but needs to be smarter.  It should be possible to filter out specific patterns, not just whole classes of events.
  6. The export to text is broken.  It loses the name of the VI that has a refnum leak.
  7. Refnum leak events are useless.  They don't give even as much as a probe would show, like what the refnum is to, the type, etc.
  8. The tool should be able to show concurrent thread/VI activity side-by-side, not serially, so one can see what is happening in parallell operations.

Do this stuff and you will have a useful tool.

 

John Doyle

15 Comments
shb
Active Participant
Active Participant

I just wanted to suggest 2 and 3.

 

Only one additional point:

9. Warn when VI-Calls are enabled and the VI is already running. (When I remember right, no calls are recorded in this case.)

 

 

By the way, Are there some points implemented? Which ones  (1-9) in which version (2009 ... 2012)?

Penar
NI Employee (retired)

shb,

 

#2, a circular buffer is in implmentation to allow users to prevent DETT from out of memory.

#4, we could not reproduce it. But we are invetigating in improve user experience of UI events, such as search.

#7, it could be achieved by "double click" and navigate to VI with reference leak. In DETT 2012 we will make it easier to detect by adding a navigation button to UI.

reidl
NI Employee (retired)

You're invited to the DETT 2013 beta.  There was significant work done to redesign the UI and eliminate out-of-memory issues.

 

Updated User Interface

  • Introduce software ribbon to replace previous toolbars and menus
  • Fix mouse-wheel bugs

Enhanced Capability to Trace Large Application 

  • Allows configuration of message limits and out of limit options to prevent out of memory issues that existed in previous DETT versions.
  • Allows log data to file when tracing
  • Enhance capture settings capability. You can now specify DETT to include/exclude VIs when capturing data.

Usability

  • Search bar(Crtl+F) allows searching all text fields in your trace
  • Navigation traces to a VI or any VIs in the call chain

New Features

  • Adds compare traces dialog. Allows you to diff between two trace sessions
  • Adds bookmark to trace line number when starting or resuming tracing
G-Money
NI Employee (retired)
Status changed to: In Beta
 
Darren
Proven Zealot
Status changed to: Completed
Available in Desktop Execution Trace Toolkit 2013