NI Home > Community > NI Discussion Forums

LabVIEW Idea Exchange

Showing results for 
Search instead for 
Do you mean 
Announcements
We've turned on a search before post feature in the LabVIEW Idea Exchange. This new feature will help cut down on the number of duplicate ideas in this space!

The NI Idea Exchange is a product feedback forum where NI R&D and users work together to submit ideas, collaborate on their development, and vote for the ones they like best. View all of the NI Idea Exchanges to post an idea or add your opinion on an existing one today!
ouadji

Debugging (Probe and Breakpoint)

Status: New
by Trusted Enthusiast on ‎03-03-2012 07:50 PM

Hello,                    (sorry for my english, i will try to do my best)

 

I think the management of Breakpoints and  Probes is not logical and not enough powerful.


I propose a new approach. 

 

LabVIEV would need a real debugging environment, much more powerful, like this :

 

 

1st  :  Probe management is not logical

           Why ?  A probe is only to watch a value on a wire (not to stop the code)

 

anciennes conditions.png

 

2nd : To stop the code, the Breakpoint, with ou without condition(s) ... (conditional or unconditional Breakpoint)

3rd  : Conditional Breakpoint:


  •   A conditional Breakpoint stops the code on a wire, according condition(s) on this wire itself;

       or / and  according condition()s on other wires. (very powerful feature)

  •  The breakpoint condition use binary operators (C language), like a Formula Node
  •  To Use a Numeric value or a boolean value into a Condition, you must first place a Probe

      (Normal, before using a value, we must first take it.)


  •   The Conditional Breakpoints are only available with Numeric and Boolean values.

      (As the current version of LV)

 

VI_with_probes.png

 

The breakpoint Manager highlights the Breakpoint on which the right click has been made.

Inside the Breakpoint Manager, we can see the corresponding Breakpoint via "Find on Diagram".

 

 

total_1.png

 

 

 

 

Comments
by Trusted Enthusiast on ‎03-04-2012 12:00 AM

Although some of your idea has merit, some parts of it are incorrect. You can do conditional break in current LV with any formula you desire by writing a custom probe.

Kudos for the rest.

by Trusted Enthusiast on ‎03-04-2012 04:54 AM

hello Aristos,

 

yes, but I have not said It was not possible to build a custom conditional break with a Probe.

 

- the function of a probe is not to break the code.

- with current version of LV, It is not possible to use a different wire than the one where the probe is! (to build the break condition)

  be able to use different wires to build the breakpoint condition (... not the Probe condition)

  The real power is closely related to this last possibility.
- It would be much more easy and intuitive to use a language to do that, like into a formula node, with binary operators.

 

all this is just a set of ideas to improve the debugging environment of LV.
There are ways to make it much more powerful, and much more intuitive for users.

 

thank you for Kudos :smileyhappy:

by Trusted Enthusiast on ‎03-04-2012 06:10 AM

The most important change would be,
Be able to use more than only one wire to build the break condition.
All VI probes should be present inside the starting diagram of the "New Custom Probe"

...  not only the probe of the wire onto which the break will be programmed... but all other too.

this would be a huge improvement.

by Active Participant X. on ‎03-04-2012 05:52 PM

Interesting idea. I would add that if you get to this level of sophistication, you should expect users to want to have the possibility to combine the values of probes in DIFFERENT VIs to compute the value of a conditional breakpoint.

As in: "(if my iterative calculation result in VI_1 is smaller than 1) and (if the loop iteration in VI_2 is >100) then pause execution".

This being said, even without this additional level of complexity, with the inherent parallelism of LabVIEW, your suggested functionalities might result in interesting race conditions (something ALWAYS happens during debugging but NEVER otherwise, or inversely)...

 

by Member GabiTillmann on ‎03-05-2012 02:58 AM

It may be illogical, but I find it quite convenient to "upgrade" a breakpoint to a conditional breakpoint.

 

Gabi 

by Trusted Enthusiast ‎03-05-2012 03:01 AM - edited ‎03-05-2012 03:03 AM

From X.

"with the inherent parallelism of LabVIEW, your suggested functionalities might result in interesting race conditions

(something ALWAYS happens during debugging but NEVER otherwise, or inversely)"

 

very good comment, you are right. I had not thought of that!
I think this parallelism of LabVIEW makes my proposals unusable. :smileyfrustrated:

 

 

 


 


Latest LabVIEW Idea Exchange Blog Posts
About LabVIEW Idea Exchange

Have a LabVIEW Idea?

  1. Browse by label or search in the LabVIEW Idea Exchange to see if your idea has previously been submitted. If your idea exists be sure to vote for the idea by giving it kudos to indicate your approval!
  2. If your idea has not been submitted click Post New Idea to submit a product idea to the LabVIEW Idea Exchange. Be sure to submit a separate post for each idea.
  3. Watch as the community gives your idea kudos and adds their input.
  4. As NI R&D considers the idea, they will change the idea status.
  5. Give kudos to other ideas that you would like to see in a future version of LabVIEW!
Idea Statuses
Top Kudoed Authors
User Kudos Count
80
78
36
33
32