From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with Browse Identifier

Solved!
Go to solution

Hi,

 

one of my projects consists of many files. If I open it or change the build mode it takes some time to generate browsing information.

 

Now, if I use the browse identifier to see where a function is called it tells me that this function is not called directly.

 

This information is wrong, it is only due to the fact that the browse information does not exist yet. Waiting some more time will result in the correct result.

 

I suggest fixing this, e.g., by showing some hint in the browse identifier (such as 'browse information not yet available, please wait or have some coffee...')

0 Kudos
Message 1 of 9
(4,796 Views)

This has been my experience too, Wolfgang.  I've been pretty unhappy with how the browse information works in CVI2013.  It worked much better (faster) in 2012, in my opinion.  

 

Have you ever seen the behavior where the browse information failed completely to finish?  Such that the function drop down list was empty?  This happens to me on a daily basis, making my navigation of my code much slower.  I am relying on doing global Finds (CTRL + SHIFT + F) way more than relying on the function drop down.

0 Kudos
Message 2 of 9
(4,785 Views)

I've commented on the slowness of building the browse information already two years ago Smiley Wink, but slow is one thing, confusing information is another...

 

LuisG then wrote "By the way, generating browse info in the background is supposed to be an unintrusive operation which should not impact whatever you happen to be doing at the time" - this new thread is on the fact that I consider misleading information not unintrusive Smiley Wink Since the Idea Exchange is inactive since about 15 months I preferred to mention this 'characteristics' here.

 

Concerning your question, given enough time all projects behave nicely for me, i.e., the browse information finishes to build; after that the function drop down list is populated as expected. How long is your list - or how long would your list be...?

 

0 Kudos
Message 3 of 9
(4,775 Views)

I'm still using CVI2012: I didn't dare to transition to 2013 because because of several problematic threads I read that made me think 2013 is not yet mature; this one is an example.

 

Nevertheless, considering what you are discussing I took the impression that my projects are a bit smaller that those you are working on so that the particular problem which originated this thread could not be so heavy for me.

A typical project of mine is around 20k lines of code divided in 2-3 modules with 80-90 functions each. 

I tried opening that project in 2013SP2 and I had the list populated in less than 7 seconds: since this is a very typical project size, I could bear with these times.

Is your situation very different from mine? There are other operations apart from initial project loading make this lag larger?



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Message 4 of 9
(4,771 Views)

Roberto,

 

you are correct that building the browse information usually is fast enough. The 'problematic' project I was talking about consists of about 40 files, so even if one file takes only 1-2 seconds the browse information may be complete only after more than a minute. (And I am talking about a new computer, for the old one this took much longer). Since the project opens were you left ideally one could start editing immediately, due to the build-up of the browse information one has to wait. Of course this is possible, but I was confused when I started working and got a wrong information. I realized soon after but I think/hope that this could be improved in the sense that no browse information is given before building it has finished.

0 Kudos
Message 5 of 9
(4,764 Views)

Hello Wolfgang!

 

I appreciate your feedback regarding the 2013 version of CVI.

 

Before CVI 2013, the ADE was generating browsing information as part of the build process. The obvious disatvantage of this was that users would only receive browsing information after the build completed. Starting with CVI 2013, browsing information generation is performed asynchronously at edit time. This enables our users to benefit from updated browsing information while they are writing code.

 

We chose to allow users to use the source code navigation tools (e.g. Source Code Browser window, Go to Definition, etc.), despite of the fact that browsing information is allowed to be incomplete at a given moment during edit time, because it provides the advantage of being able to use some of the semantic information available at that time, until the entire information eventually is (re)generated. In case of larger projects, generating browsing information can take relatively more time. If the semantic information would only be available after it is generated completely (i.e. block source code navigation tools in the ADE), users could be stuck using CTRL+F during that time.

 

I would like to ask you whether in the use case that you are reporting, you noticed that the status bar indicated the fact that browsing information is currently being generated, while you were navigating over the occurrences of the function in the Source Code Browser window?

While the behaviour you are seing with the incorrect function call information is true, users are notified via the status bar, that browsing information is updated, so they expect the current set of browsing information to be out of date.

 

Best regards!

- Johannes

0 Kudos
Message 6 of 9
(4,737 Views)

Hi Johannes,

 

I know all this Smiley Wink And yes, I see the status bar... But you know in daily life you open a project, see the code, and start... it happens that one forgets to wait a minute or two... And I am aware that the reported case is not a typical one... I just think that it is not perfect and possibly could be improved. I had two suggestions, they may not be perfect either Smiley Wink

 

- Like in CVI, dim the control until the shown value is valid (or add some text that the information may not be up to date)

- Save/load the browse information to a file. Why does it need to rebuild all files in a project every time? If I open a project, switch between 32 bit / 64 bit or between debug / release, all files are analysed again and again even if nothing has changed.

 

And I still think that getting a wrong browse information is not good.

0 Kudos
Message 7 of 9
(4,724 Views)
Solution
Accepted by topic author Wolfgang

Hi Wolfgang!

 

We wanted the browsing information generation to be less intrusive as possible. Meaning, that it shouldn't block components in the UI or cause distraction through notifications that the ADE is continuously generating semantic information in the background. Also, waiting for longer periods of time is currently the case for relatively larger projects. Until browsing information is generated completely, the set of available semantic information is considered to be incomplete.

 

Refering to the lack of maturity of the CVI 2013 release, we realize that there is space for improvements. Specifically regarding browsing information, we are taking the improvements suggestions into consideration for future updates and releases of the product. These include caching browsing information and improving the the navigation experience when using source code browsing UI features.

 

Thank you!

- Johannes

0 Kudos
Message 8 of 9
(4,718 Views)

Johannes_T wrote:

...we realize that there is space for improvements. Specifically regarding browsing information, we are taking the improvements suggestions into consideration for future updates and releases of the product. These include caching browsing information and improving the the navigation experience when using source code browsing UI features.


THIS sounds good Smiley Happy  and I can accept it as a 'solution' Smiley Wink

0 Kudos
Message 9 of 9
(4,715 Views)