Forum Replies Created
-
AuthorPosts
-
supportKeymaster
Hi,
This error means that the project file is corrupt and may not work anymore. This type of errors is almost always caused by trying to do multiple new things at once and inadvertently selecting incompatible settings at some point (often while trying to troubleshoot an earlier error).
This is a very common mistake that can be easily avoided by trying new things one at a time and keeping notes of the settings you change, so you can always track them back. Please see this page for a very detailed description and our suggestions on best practices.
Our tutorials follow this approach as well – they demonstrate each individual feature (e.g. using libraries, using header discovery) separately from others, rather than trying to show them all at once and further confusing new users. We recommend using the search bar on the tutorials page to find relevant tutorials and following them as close as possible to get familiar with the related settings.
Please note that we do not update tutorials when introducing minor changes to GUI. If the GUI shown in the tutorial looks slightly different from the latest version, using the settings shown in the tutorial should still work, as long as you try to follow them as close as possible to the tutorial.
supportKeymasterGood 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.
supportKeymasterUnfortunately, 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.
supportKeymasterThanks, 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 1 year, 11 months ago by support.
supportKeymasterHi,
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.
supportKeymasterHi,
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.
supportKeymasterHi,
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.
supportKeymasterHi,
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.
supportKeymasterThis 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.
supportKeymasterSure, 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.
supportKeymasterThanks, 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.
supportKeymasterHi,
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.
supportKeymasterHi,
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.
supportKeymasterOK, 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.
supportKeymasterHi,
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.
-
AuthorPosts