11-17-2022 11:19 AM
The Execution:State property is an enum of four states. But one of the states, "Running", is actually two different VI states: reserved and actively running. The difference is whether or not code is actively executing in that VI and whether the Abort button is enabled. When trying to figure out why an application is hung, it would be really nice to be able to identify all the active VIs in an application instance.
Is there any backdoor way to identify VIs that are actually running? Maybe some clever trick for identifying an active Abort button? Grabbing screenshots of every "Running" front panel and checking for a red dot is the best idea I've been able to come up with.
Solved! Go to Solution.
11-17-2022 12:21 PM - edited 11-17-2022 12:23 PM
Not that I'm aware off!
That red dot idea is interesting but way to brittle to warrant such effort. Just have a screen with the toolbar hidden in the VI settings and there is no red dot anymore to be found (unless you put a red led on the frontpanel somewhere of course, but that would be another potential failure source).
11-17-2022 12:25 PM - edited 11-17-2022 12:26 PM
Brittleness acknowledged, but when I'm searching through 5000+ VIs for which chain is still running, I'll take brittle over nothing!
And given that whatever is still running is clearly not one of my UI-level VIs, the chances of the toolbar being hidden are diminished substantially.
11-17-2022 12:52 PM
Try this
11-17-2022 01:18 PM
And this.
11-17-2022 01:23 PM
Paul: That is some serious out-of-the-box thinking! And I have no idea why it works!
Your VI is missing a Not, but, otherwise, this seems to pass my testing.
11-17-2022 03:16 PM
@srlm wrote:
Paul: That is some serious out-of-the-box thinking! And I have no idea why it works!
Your VI is missing a Not, but, otherwise, this seems to pass my testing.
I didn't come up with it. Don't remember where I got it.
11-18-2022 01:13 AM
Also vote here
There are more threads about it. I tried to find AQ's explanation for why it works the way it does. I only found the short one: https://forums.ni.com/t5/LabVIEW-Idea-Exchange/More-Specific-Execution-State-of-VI-Reserved-for-Exec...
11-18-2022 08:26 AM
thols: thanks. AQ was right to be concerned about its use within an application. I'm looking for it as a debug tool outside the application for identifying what loop isn't quitting so I can fix it.
11-18-2022 08:28 AM
@paul_cardinale wrote:
I didn't come up with it. Don't remember where I got it.
I'm pretty sure I first saw this technique on LAVA where I also said it wasn't possible only for someone to prove me wrong.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
16 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord