Hello,
the usage of the "Go To Definition" function is one of the most important function of the IDE for me. Working with software I`m using this function hundreds of times per day. In the past (up to 5.24.2) this was working without any problems. Today (5.35.0) I have have so much problems with this function. In 50% of all cases it works fine as usual. In the other 50% I`m always getting this enervating "No browse info for symbol in this context".- yes, I enabled the creation of the browse information in the options- yes, I rebuild the complete code- yes, the header file with the searched information is included (open document and ctrl-f-search will find)- yes, I hoped that with 5.35 the problem would be silently fixed ... but it does notI can not imagine that such a great IDE like uvision has so elementary bugs ... the mistake must be on my side. Where is my fault ?Please help !friendly regardsRecently
The generation of browse information in µVision is different in the case of using Arm compiler v5.x or Arm compiler v6.x.
If you use Arm compiler v5.x, the browse info is generated when you build your project by the same arm compiler v5.x toolchain. That's also the main reason why enabling "Options for Target - Output - Browse information" option in this case will slow down the build time.
If you use Arm compiler v6.x, the browse info is generated in the background of µVision dynamically using a different compiler toolchain other than arm compiler v6.x. In some cases, this specific compiler cannot generate the browse info for a certain type of code for some reason, or in the worst case can lead to the crash of the browse info generation compiler/module. That's why to find the root cause of such an issue, a source code module or at least a code snippet is necessary for Arm to reproduce the issue
I was wrong in linking Editor with F2. Thank you for the detailed explanation.
You confirmed my findings. I noticed that input from keyboard is often ignored for few seconds when in editor. I looked what uVision is doing and there is a clang thread often taking as much as 10% of the CPU - without compiling code or using editor. Is it possible to turn off that dynamic syntax checking/browse info generation ? Would be great to have this option.
You can turn off the generation of browse info via the option "Options for Target - Output - Browse Information" in uVision
You can also turn off the dynamic syntax checking via "Configuration - Text Completion - Dynamic Syntax Checking" in uVision
Splendid. Thank you.
At the time I reported the issue, the "effect" had a 50% probability. In the meantime, our project has grown and the search almost doesn't work at all. Sometimes you see what you're looking for a few lines up, but the search isn't able to find it. Unfortunately I was not allowed to provide the code, so I hope that others have the same problem and that it will be solved soon. Since I personally need this functionality very often, I find working with uvision extremely uncomfortable and can only advise against using it.
There might be some correlation with the project size. It crossed my mind. Difficult to judge. We have no clue what is priority for them. I would guess it is well known issue but there is just not enough resources to sort it out. It is a trade off. You might expect this with free version but when you spend several thousand you migh say it is shockingDepressing ? Definitelly. Is it depressing enough I spend time to integrate toolchain with other robust IDE ? No.
have you tried the latest MDK v5.37? Is there improvement with your project using the latest MDK v5.37?
I run this tool
github.com/.../cloc
on my project and got >100k line of code.
No idea how this would be described as in relation to what uVision is designed to handle. Big/middle/small sized project ?
ChenTang said:a source code module or at least a code snippet is necessary for Arm to reproduce the issue
Is not there some log where the browse info generator outputs its state and reason of failure ? If not, could you add this to next release ?
ChenTang said: Arm compiler v6.x, the browse info is generated in the background of µVision dynamically
It is confusing because my program links so all neccesary information is clearly available to the linker (this is how v5 works as you explained). But with v6 browse info must be extracted without linking. Interesting.