LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
wiebe@CARYA

Active Structure Debug Indication

Status: New

When entering debug mode (turn execution highlight on) it can be hard to see what is happening.

 

With event structures it can be hard, but there are subtile changes. Sometimes it's impossible. For instance, if you run this VI, and wait a while, it is impossible to why the VI has not stopped. In this case it's easy to deduce, but it can be really hard. Probes also don't provide a solution here...

Parallel Loops.png

 

SubVI's get a green arrow when they are executing. So, could structures get them as well?

 

Parallel Loops proposal.png

13 Comments
altenbach
Knight of NI

Doesn't the wait itself get a green arrow?

crossrulz
Knight of NI

Christian, that would not help in this exact example.  It is the Wait On Occurance that is holding it up.  So if that had the green arrows, we would be good to go.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
JÞB
Knight of NI

The "Pause ring"  might just do this already.  I need an example of why the pause ring does not help in well structured code to help me understand the idea.


"Should be" isn't "Is" -Jay
AristosQueue (NI)
NI Employee (retired)

I like this idea. A lot.

muks
Proven Zealot

This will be helpful. Kudos

wiebe@CARYA
Knight of NI

Jeff,

 

>The "Pause ring"  might just do this already.

 

Do you mean pressing pause? In this case it does not do anything.

 

I agree, a lot of times you'd avoid the need for this (but it would still help). Normaly I'd avoid parallel loops inside a VI, but sometimes it's just called for. For instance, I recently put about 8 loops in parallel to handle 8 connections to the same TCP\IP device.

 

LabVIEW usually grays out stuff inside structures (in the exampe it does if you remove the structure), but in the posted example it does not. This could actually be a bug. Still the arrows would help to speed things up, you'd be able to tell what is going on in a blink of the eye.

wiebe@CARYA
Knight of NI

I have one additional thought that keeps poping up. Since the idea is well received, I'll just through it in.

 

For event structures, we might want two color codes:

 

Green > the event structure is executing code inside it's structure (event is being handled).

Grey(?) > the event structure is active, but waiting for an event.

 

Actually, VI's could use a distinction like this as well:

 

Green > the VI instance is executing code inside.

Grey(?) > the VI instance is active, but waiting for another execution to finish (since the VI is not reentrant.

 

I first thought about orange (green, orange, red makes sense), but orange sugest some stress\panic, so grey might be better.

muks
Proven Zealot

We are used to link  grey with disabled

JÞB
Knight of NI
I mean the ring control that appears on the ribbon bar only when execution is paused.

"Should be" isn't "Is" -Jay
wiebe@CARYA
Knight of NI

>We are used to link  grey with disabled

 

True. Perhaps orange is better. Or something else...

 

>mean the ring control that appears on the ribbon bar only when execution is paused.

 

The only thing that changes when execution is paused, is that some buttons in the ribbon bar are enabled. Most notibly, the step functions (step into, Step over, Finish). I don't get any ring control. (Could it be an add-on? Not sure if a provider can add a ring)

 

In the example, these stepping buttons are all disabled when pausing execution after a few seconds. This makes sense, since it cannot step over the wait for occurence function. So it's still not possible to see what is happening.