curiouspuya Posted February 14, 2013 Report Share Posted February 14, 2013 Here is the scenario: You have a heavily nested project and you are debugging your sub-VIs. You have pressed pause or you are stepping through one of them and you accidentally close your sub-VI. Meanwhile you have parallel loops and/or active processes going on. How do you find where you have paused? Breakpoints are easier to find because you can use the breakpoint manager. But I havent found a menu item that says "Show Pause Location" or something equivalent. Has anyone been frustrated by this before? Is there a simple answer or method that I have missed? Quote Link to comment
jcarmody Posted February 15, 2013 Report Share Posted February 15, 2013 Try this: Quote Link to comment
jcarmody Posted February 15, 2013 Report Share Posted February 15, 2013 Here is the scenario: You have a heavily nested project and you are debugging your sub-VIs. You have pressed pause or you are stepping through one of them and you accidentally close your sub-VI. [...] I just read the part about closing the sub VI; I'm not sure I understand the situation or that my snippet will help. Quote Link to comment
Rolf Kalbermatter Posted February 17, 2013 Report Share Posted February 17, 2013 I just read the part about closing the sub VI; I'm not sure I understand the situation or that my snippet will help. I'm not entirely sure either but I think your VI more or less captures the issue although there might need to be some more work. Basically you can close the front panel of a subVI while it is in paused mode and that can happen easily when having a number of panels open. I for myself also tend to look for windows regularly that I had just worked on and more or less inadvertently closed. If the VI was paused it will stay paused, usually preventing at least parts of the rest of the program to continue. So I then have to go and dig for the VI that is paused to make it resume. This is not different to multithreading programming in other languages. If a thread is blocked in single step mode, the rest of the program can usually still continue (not all debuggers support that though as they lack a good way to get an overview of all current threads) and that can have various effects such as stalling other threads too who wait for events and data from the blocked thread or also just pausing whatever the thread in question should do. Without a central overview of all threads and their paused or active state you end up in a complete nighmare. The only thing about your VI that I'm not sure about is if setting the Frontmost property alone is always enough. I could imagine situations where it may be necessary to do additional work like first opening the front panel or unlocking something else. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.