From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW Development Best Practices Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

New and Improved LabVIEW Desktop Execution Trace Toolkit Now in BETA

We have heard of that request... Currently, there isn't a way to control DETT using a programmatic API.  We have considered a command-line interface to DETT since it is running as a separate process.

0 Kudos
Message 21 of 68
(3,023 Views)

Actually, I had envisioned it as a button that sets it up in that mode. Like an "Auto mode" checkbox. Yes, a CLI would be more flexible, but for my needs a general behavior switch in the UI is just fine.

0 Kudos
Message 22 of 68
(3,023 Views)

Hmm...when DETT is closed and restarted, the capture settings are not preserved between sessions. This is a pretty big usability bug IMO. I shouldn't have to navigate an explorer dialog to my .ini file every time I open the application. Ideally the last-used capture, filter, formatting, etc. settings would be preserved for each OS user in a "default.ini" in that user's application data folder.

It might also be nice to have a visual indicator (an LED or something) that shows whether non-default settings are currenly applied.

0 Kudos
Message 23 of 68
(3,023 Views)

How do I preserve my view settings, like timestamp relative/absolute, hidden columns, and column widths?

0 Kudos
Message 24 of 68
(3,023 Views)

I'd like to discuss a few things before we preserve settings (which I do agree with)...

  1. Do you expect settings to be saved with trace data?  For instance, I debug one application, and I get my capture settings and view exactly the way I want.  I save the trace (.det) file.  When I reopen that .det file, it should have kept all of those settings, correct?
  2. Then there are settings (capture, view) for default new traces (when you first open DETT or click New Trace).  I think for this, you'd have some mechanism in DETT's options to "Set as default".  This does not affect any saved .det files.  Only new traces from that point will use the capture/view settings.

Thoughts?

0 Kudos
Message 25 of 68
(3,023 Views)

This sounds like the right approach to me

0 Kudos
Message 26 of 68
(3,023 Views)

It's getting clutered in here. I'm going to start using quotations in case anybody doesn't have conversation threading enabled in their profile.

reidl wrote:

Do you expect settings to be saved with trace data?

I hadn't thought of that, but absolutely, yes!

Then there are settings (capture, view) for default new traces (when you first open DETT or click New Trace).  I think for this, you'd have some mechanism in DETT's options to "Set as default".  This does not affect any saved .det files.  Only new traces from that point will use the capture/view settings.

Also yes. And as I said before, I would expect some form of per-user persistence for settings between sessions. Either settings are explicitly called "defaults" for that user and are always loaded at startup, or every setting is implicitly persisted from the last session and restored at startup.

0 Kudos
Message 27 of 68
(3,023 Views)

Another feature request:

Reading the Call Chain string is always difficult. Here's a representative example from my current project:

Call Chain: af_OI Panel.lvlib:Insert Panel Msg.lvclass:Send Insert Panel.vi:2 << af_OI Shell.lvlib:OI Shell.lvclass:Display OI Panel.vi << af_OI Shell.lvlib:OI Shell.lvclass:Actor Core.vi:1 << Actor Framework.lvlib:Actor.lvclass:Actor.vi:3 << Actor Framework.lvlib:Actor.lvclass:Actor.vi.ACBRProxyCaller.6AD0006D

How hard would it be to parse that string out and present it as a list instead?

Call Chain:

  af_OI Panel.lvlib:Insert Panel Msg.lvclass:Send Insert panel.vi:2

  af_OI Shell.lvlib:OI Shell.lvclass:Display OI Panel.vi

  af_OI Shell.lvlib:OI Shell.lvclass:Actor Core.vi:1

  Actor Framework.lvlib:Actor.lvclass:Actor.vi:3

  Actor Framework.lvlib:Actor.lvclass:Actor.vi.ACBRProxyCaller.6AD0006D

See the difference? Notice that aching pain behind your eyes that disappeared while reading the second example?

Message 28 of 68
(3,023 Views)

When debugging executables, I have the habit of changing the TopLevel VI settings to not open when called in the build specifications settings. I do this so:

1) I run my executable and I will have my top level VI waiting for me to click on the run arrow.

2) Connect to my executable in DETT (it has to be running so DETT can see it)

3) Start a new trace

4) Click the run arrow in the top level VI in my exe

5) happy tracing

Is there anyother way to do this to ensure that I am tracing from the beginning of my executable?

Thanks,

Fab

For an opportunity to learn from experienced developers / entrepeneurs (Steve, Joerg, and Brian amongst them):
Check out DSH Pragmatic Software Development Workshop!

DQMH Lead Architect * DQMH Trusted Advisor * Certified LabVIEW Architect * Certified LabVIEW Embedded Developer * Certified Professional Instructor * LabVIEW Champion * Code Janitor

Have you been nice to future you?
Message 29 of 68
(3,023 Views)

Perhaps a button within the DETT that says "run this EXE"? Essentially, you want some way to say to DETT, "I [the user] am not fast enough to launch the exe and then attach the DETT to it before interesting events happen, so I want you, DETT, to run this executable and hook into it as soon as it starts running."

Message 30 of 68
(3,023 Views)