LabVIEW Idea Exchange

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

Debugging (Probe and Breakpoint)

Status: New

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

 

 

 

 

  • Analysis & Computation
6 Comments
AristosQueue (NI)
NI Employee (retired)

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.

ouadji
Trusted Enthusiast

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 Smiley Happy

ouadji
Trusted Enthusiast

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.

X.
Trusted Enthusiast
Trusted Enthusiast

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)...

 

GabbyG
Active Participant

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

 

Gabi 

7.1 -- 2013
CLA
ouadji
Trusted Enthusiast

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. Smiley Frustrated