LabVIEW Idea Exchange

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

Improved debugging features - Resume and Save/Restore

Status: Declined

In lieu of a "proper" debugger, I suggest a couple of small, related, debugging features that would be very helpful:

 

1.  A "Resume" button to go with Run, Abort and Pause

 

Have you ever been stepping through a program by clicking on "Pause" (say, a breakpoint inside a loop), and your mouse slips five pixels to the left and clicks "Abort"?  I have.  And typically it's when the program takes 5 minutes to get back to where you were.  Why can't LabVIEW retain its current state/memory so that it is possible to Resume the program from where it was stopped?

 

2. Save and Restore memory

 

Very closely related to the first suggestion - it should be possible not just to hold the current state, but to save that to disk, and reload it to Resume execution from where you left off.

 

7 Comments
GregSands
Active Participant

I also wanted to add the closely related suggestion of saving probes and breakpoints, but that has already been suggested here and in a slightly different form here.

dthor
Active Participant

Regarding #2:

Lets say you save a state, change a slight bit of code, and then load a previous state. How would that be handled?

GregSands
Active Participant

Handling changed code may not be easy, I agree.  However if the changed code was later on in the execution, perhaps there would be a way to do it.

 

dthor
Active Participant

I definitely like the idea though. Sometimes I have code that takes half an hour to run, only to find my bug at the very end. I'll fix it, and then have to wait another 30 minutes to see if the bug is still there. (Of course, that's all hyperbole, but you get the idea Smiley Very Happy)

 

I'm just afraid that it would take a heck of a lot of thinking and resources to implement the Idea properly.

AristosQueue (NI)
NI Employee (retired)

The vast majority of the time, we couldn't get back because hardware state and refnums all get cleaned up when a VI goes idle. Lots of resources are released and their states are reset at that point.There's no way that we could recover in most cases from someone hitting Abort.

 

You may want to ask for an "Are You Sure?" dialog on the Abort button or moving the Abort to a new location that's harder to hit, but simply picking up execution again is impossible in so many situations as to render this idea unfeasible, in my opinion.

GregSands
Active Participant

I'm not suggesting it would be easy, but would it be possible to delay cleaning up the resources until another action is initiated?  I imagine the difficulty is that the code needs to be immediately available for editing, whereas other languages tend to have a greater separation between editing and execution. 

 

Separating the Abort and Pause buttons would be a reasonable way of addressing the use cases that prompted this idea.

JordanG
NI Employee (retired)
Status changed to: Declined