Forum Replies Created
-
AuthorPosts
-
support
KeymasterGood to know it works. If you encounter further issues with Clang IntelliSense not loading for a particular project, feel free to check this page for detailed troubleshooting instructions.
support
KeymasterUnfortunately, it is hard to suggest anything specific based on the description you provided.
In order for us to provide any help with this, we need to be able to reproduce the problem on our side.
Please provide complete and detailed steps to reproduce the issue as described below:- 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.
- 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.
You can read more about the best way to report VisualGDB issues in our problem reporting guidelines, If you do not wish to document the repro steps and save the screenshots, please consider recording a screen video instead and sending us a link to it.
You can also try checking various diagnostic output from various parts of VisualGDB as described on this page. Although we won’t be able to review it for a specific project unless the we can reproduce the problem from scratch, checking it might provide some clues on what is causing the unexpected behavior.
support
KeymasterThanks, we have tested the new toolchain together with the ESP-IDF 5.0 and confirm that the basic projects work for the ESP32, ESP32C3, ESP32C3, ESP32S2, ESP32C3 and ESP32H2 devices. We have also retested semihosting (regular ESP32 device only) and adjusted our unit test integration to be compatible with the latest ESP-IDF.
You can download the updated toolchain installer here: https://gnutoolchains.com/esp32/
Please note that ESP-IDF 5.0 uses its own system to manage virtual Python environments, so you would need the following VisualGDB build to use it automatically: VisualGDB-5.6.109.4769.msi
We will run a few further tests and will release an official VisualGDB 5.6R9 with full ESP-IDF 5.0 support in the next few days.
-
This reply was modified 2 years, 6 months ago by
support.
support
KeymasterHi,
This looks like something is off with your PowerShell assembly search path. If you are not comfortable troubleshooting it, we would suggest creating a simple command-line tool using the .Net Framework, referencing all the required assemblies from it, and using the CoverageReportReader class from the tool.
support
KeymasterHi,
Most likely, your project uses custom non-trivial logic for placing the library symbols, and VisualGDB cannot automatically detect where the symbols are.
In order to resolve it, please first go through this tutorial and make sure you understand how to check whether an ELF file contains debug symbols. Then, please inspect your project and find out the exact location of the .so file you are trying to debug. Make sure it contains debugging symbols as per the tutorial. Double-check that the symbols mention the file you are trying to debug. If not, you would need to adjust the build settings to make sure the symbols are not stripped.
Once you confirm that the .so file contains symbols, please inspect the gdb log for the -gdb-set solib-search-path command. VisualGDB uses it to point gdb to the directories with the symbol files that are derived from the CMake code model. If it doesn’t contain the expected directory, you can override it by adding your own set solib-search-path command via VisualGDB Project Properties -> Additional GDB Commands.
In general, VisualGDB computes the solib-search-path from the directories of the target’s references. If it’s missing a particular library, explicitly referencing it from the executable should solve it. You can double-check the references reported by CMake, as well as the exact library locations in the target-XXX.json files inside the build\<subdir>\.cmake directory.
support
KeymasterHi,
Indeed, the VisualGDB CMake projects use a different template mechanism, so it allows adding targets or individual source files, but not whole classes. As a workaround, please consider adding a pair of .cpp and .h files and declaring a class there manually. You can then rely on VisualGDB’s IntelliSense to generate most redundant code for you:
- Once you type in the constructor declaration (e.g. ‘MyClass();’), press Ctrl+. and select “Create a definition”. It will insert the “MyClass::MyClass() {}” part in the .cpp file
- Whenever you want to add a new method to the class, you can try just calling it from the code as if it was there, and then use the “Create from use” command, that will determine the names and types of the arguments based on the values you passed.
Regarding the Visual Studio versions, VisualGDB replaces a lot of the Visual Studio GUI and functionality with its own implementations, and the parts that are not replaced (tab docking, breakpoint/watch GUI), have not changed much between VS2017 and VS2022. On the other hand, VS2019 and VS2022 feature a lot of improvements for the C# development, so if you are occasionally developing C# code, it could be worthwhile checking them out.
support
KeymasterHi,
This means that the project file is corrupt. Please try re-creating the project, or manually checking the location shown in the error message for obvious XML errors.
support
KeymasterThis error means that Visual Studio refused to save the solution file when VisualGDB requested it. Most likely, it is caused by some setting you picked when creating the project.
Please try starting again and following the tutorial as close as possible. If it doesn’t work, please share the complete steps to reproduce the problem including all the screenshots, and we will try to point out the cause of this issue.
support
KeymasterSure, you can use the CMake Platform Manager to have an arbitrary combination of platforms and configurations.
Every platform/configuration can use a different toolchain, exclude some targets, or tweak how they are built.
support
KeymasterThanks, it looks like ESP-IDF 5.0 relies on a newer toolchain, that is still in RC stage. In order to ship a pre-packed toolchain with ESP-IDF 5.0, we would need to take the components from that toolchain, so we would still need to wait a stable release is available.
support
KeymasterHi,
VisualGDB requires SSH to transfer the files from/to target. If it is not available, you can try using our telnet target plugin, however it is much more fragile than SSH and may require some non-trivial troubleshooting.
support
KeymasterHi,
This is something to check with Espressif, the maintainers of the ESP32 OpenOCD port. All VisualGDB does in this case is launch OpenOCD with the parameters you select.
support
KeymasterOK, we have updated VisualGDB to allow searching for the internal variable names in the KConfig editor. Please try this build: VisualGDB-5.6.108.4758.msi
It now also supports the “^”, “$” and “;” syntax from Code Explorer, so that you can filter the values more precisely.
support
KeymasterHi,
Yes, please try asking Espressif. The ESP32 OpenOCD fork is maintained by them and they might have an idea how to get it working. You can also try asking the JTAG programmer vendor.
support
KeymasterUnfortunately, it is hard to suggest anything specific based on the description you provided.
In order for us to provide any help with this, we need to be able to reproduce the problem on our side.
Please provide complete and detailed steps to reproduce the issue as described below:- 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.
- 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.
You can read more about the best way to report VisualGDB issues in our problem reporting guidelines, If you do not wish to document the repro steps and save the screenshots, please consider recording a screen video instead and sending us a link to it.
Please note that many VisualGDB issues are caused by selecting an incompatible combination of settings at some point. We are generally not able to review specific projects and find the specific settings that were set incorrectly. We recommend checking the projects into source control and keeping a track of all changed settings to avoid breaking the projects.
You can also try checking various diagnostic output from various parts of VisualGDB as described on this page. Although we won’t be able to review it for a specific project unless the we can reproduce the problem from scratch, checking it might provide some clues on what is causing the unexpected behavior.
-
AuthorPosts