Forum Replies Created
-
AuthorPosts
-
support
KeymasterHi,
IntelliSense should work just fine out-of-the-box, unless you have already modified some settings that would interfere with it.
Please try creating a new project from scratch. If the problem persists, please share the full steps to reproduce the issue from scratch:
- The steps should begin with launching Visual Studio. They should include every step necessary to create the project from scratch and reproduce the issue.
- Please make sure the steps do not involve any 3rd-party code as we will not be able to review it. If the problem only happens with a specific project, please make sure you can reproduce it on a clean project created from scratch. See this page for more information and detailed examples.
- The steps should include uncropped screenshots of all wizard pages, VisualGDB Project Properties pages and any other GUI involved in reproducing the problem. This is critical for us to be able to reproduce the problem on our side.
- Please also provide a screenshot of the Help->About VisualGDB window so that we could ensure we are checking it on the same version
You can read more about the best way to report VisualGDB issues in our problem reporting guidelines.
support
KeymasterHi,
No problem. We have also added another tutorial showing how to discover statically defined objects (i.e. global variables of given types) and dynamically created ones as well (by traversing linked lists).
If you absolutely do not want to deal with C#, you can try using IronPython – it allows creating .Net objects and implementing .Net interfaces using Python. You will get to use the Python syntax instead of C#, but the rest of the functionality (implemented interfaces, general semantics, etc) will be the same. There is also Python .Net, although it appears to mostly target a different use case.
If this doesn’t work and you would like us to develop a completely custom scripting engine based on your requirements, we can do it as a paid custom feature. Feel free to draft a specification showing the features you would like to see, and we can give you a quote. We can also schedule a call to discuss the requirements, prepare a spec draft, and send it to you for review. Feel free to reach out to our sales if you would like to explore this direction, and we will try our best to find a solution that will work.
support
KeymasterNo worries. Complex problems almost always have multiple causes, and simplifying the repro scenario always helps separate them.
If you encounter further issues, feel free to create another thread and we will be happy to help you.
support
KeymasterThanks, we have reproduced the issue with the bsp_compile_definitions() and other similar statements. Indeed, they expected the ALIAS keyword instead of BSP_ALIAS as per documentation.
We have updated VisualGDB to handle both keywords in this build: VisualGDB-5.6.109.4853.msi
That said, we could not reproduce the issue with the flags applied to both BSPs. If it still persists with the new build, please try reproducing it on a sample STM32-based project and share the updated repro file.
support
KeymasterHi,
The ARM64 compatibility should not affect firmware downloading. The regular F5 command may not work for some project types, but the Debug->Start debugging with GDB should work.
Can you confirm that the project build speed is reasonable and that running J-Link GDB server with the command-line gdb works as expected? If the underlying tools do not work on ARM64, resolving the VisualGDB issues won’t automatically fix it.
support
KeymasterHi,
OK, we have published a detailed reference covering the live watch plugin API here: https://visualgdb.com/reference/extensibility/html/N_VisualGDBExtensibility_LiveWatch.htm
We also published 2 tutorials that should help anyone interested get started with Live Watch plugins:
We will publish another tutorial on discovering multiple objects and iterating lists next week.
The tutorials assume no prior C# knowledge, so they explain all key concepts, show how to use Visual Studio to setup the projects, add classes, etc. They also cover the non-trivial C# syntax that is different from C++.
If you have any feedback regarding the new documentation, feel free to post it here.
support
KeymasterHi,
The first code snippet you posted should work just fine. You can retest it by creating a simple STM32 project and copying it there.
If it’s not working in a more complicated McuXpresso project, the issue is likely caused by some hard-to-see difference (e.g. a space in some identifier that breaks CMake argument order). The easiest way to narrow it down would be to use the CMake debugger to step through a working STM32 setup and a broken McuXpresso setup side-by-side, until the difference becomes obvious.
support
KeymasterThanks for sharing this. BTW, we have published a tutorial showing how to use the ST-Link GDB server with VisualGDB here. We will watch for feedback on it and will consider creating an out-of-the-box debug package for it, similar to the OpenOCD one.
support
KeymasterHi,
Please let us know the email address associated with your license key, so that we could check your support status.
March 26, 2023 at 18:33 in reply to: Command line options are lost when resolving project load issues #34044support
KeymasterHi,
Thanks for renewing your license. We have investigated and fixed the issue. Please try this build: VisualGDB-5.6.109.4849.msi
support
KeymasterHi,
We have not tested it on our side, however you can easily try it out by creating an MSBuild-based project and switching from the Clang IntelliSense to the regular VC++ IntelliSense.
Such project will look like a regular VC++ project from the Visual Studio side, so any extensions that work with the regular VC++ projects will work with it as well.
support
KeymasterHi,
You can configure VisualGDB to reuse the existing build scripts, however you should be first able to build the same project using the same build file via command line on the same machine you are intending to use with VisualGDB.
If you can get it working, please share the command line that worked for you, and we will help you configure VisualGDB to use it as well.
If you are not familiar with the Linux build systems and would like us to explain to you how they work, we can gladly do it at our consulting rate, however it is not included in our product support.
support
KeymasterHi,
Sorry, adding a scripting engine in another language (and making sure the scripts are debuggable) would be orders of magnitude more complex than reusing the .Net framework that is already used for Visual Studio extensions, and VisualGDB itself. It would also very likely cause compatibility problems with other extensions, or some Visual Studio versions, due to the sheer complexity of this solution.
If you are not familiar with C#, we can gladly add a few tutorials showing some basic use cases, so you could tweak the logic shown there without having to go in-depth into the C# semantics. Let us know if you have any use cases in mind.
support
KeymasterHi,
Good to know it works. Let us know if you encounter further issues.
support
KeymasterHi,
The “Signal 0” error means that OpenOCD has lost connection to the target. It typically happens when the target program disables some functionality needed by JTAG/SWD (e.g. remaps the SWD pins to GPIO). The best way to troubleshoot it is as follows:
- Set a breakpoint very early in main() or use F10 instead of F5 to start debugging. Make sure it works.
- Set a breakpoint in some other code that is supposed to run slightly later and press F5 to continue
- If the second breakpoint worked, set another one even later. If not, restart the program and set a breakpoint between the ones in steps 1 and 2.
If you see that a breakpoint at the beginning of a long function works, and another one at the end doesn’t, you can step that function with F10 until the debugging stops working.
This should help quickly locate the code responsible for breaking the debugging, and comment it out (or check if it’s #ifdef-ed against some macro that you can define).
-
AuthorPosts