LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

why does browser window clear after a compile

In the category of dumb questions, I can't figure out why CVI clears the source browser window after a compile.

 

Sure, the contents may need to be refreshed, but why not just re-draw what was showing before the compile instead of clearing it?  I find myself continually pulling down the pick list for the file I had been viewing and re-selecting it.

 

This is one of those nits that nobody at NI will think matters much but which drives users nuts.  Like the lack of a debug / release mode indicator  on the tool bar.

 

Menchar

0 Kudos
Message 1 of 5
(3,418 Views)
...or like "go to definition" (and maybe the whole source browsing) not being available in release mode. already filed a suggestion for this but it does not seem to have made its way into CVI 9.
0 Kudos
Message 2 of 5
(3,408 Views)
Thanks for the feedback, and for making product suggestions. I have filed my own internal suggestion.
Richard S -- National Instruments -- (former) Applications Engineer -- Data Acquisition with TestStand
0 Kudos
Message 3 of 5
(3,384 Views)

well, with the variable definition locator, I can see why it isn't available in the release mode - there's no symbol table in the release code so no way to look it up via the binary - no easy way for the IDE to do it as a source code search only - you need the compiler to figure this out, or if you coded the IDE to do it, you'd wind up with half of the compiler 😉

 

The tool also needs to then map from the symbol definition established by the compiler to source code - and those hooks aren't there in release mode either.   Optimization can goof up simple source line to binary mapping too, though the CVI native compiler doesn't do much optimizing in release mode.

 

Visual Studio I think has an ability to optionally include the symbol table with a release mode binary to aid in debugging.  Maybe "symbol table" is Microsoft's euphemism for "debugable binary".

 

Menchar

 

0 Kudos
Message 4 of 5
(3,380 Views)

i am not sure we are talking about the same thing: in my case, when the configuration is set to "release mode", when editing my source code, i want to be able to right click on a variable name and select "go to definition" to see where it is located.

 

when the compiler is compiling source files, it has to parse them, whether it is in debug or release mode. while parsing, it can build a symbol table (it already does so in order to use the right symbol when generating machine code) and save it in a file separate from the output binary, then make it available for source browsing.

 

(by the way, if this was done correctly, it could jump right to the definition, without asking to resolve any conflict, since it knows which definition was used while compiling)

0 Kudos
Message 5 of 5
(3,373 Views)