Forum Replies Created
-
AuthorPosts
-
support
KeymasterHi,
The fast semihosting pays off when using larger payloads (e.g. outputting large logs to the resource manager). It will also be somewhat faster if you switch to the release build, as the optimizer will eliminate a lot of unnecessary instructions.
The extra delay compared to ITM comes from the logic used for combining multiple output streams (profiler, live coverage, test resources, printf) and is optimized for real-world scenarios (moderate to heavy data flow). We never optimized it for synthetic tests on smaller payloads, so it may indeed be slower than ITM (although still much faster than one can read).
support
KeymasterHi,
Indeed, the setting has moved to the Embedded Debug Tweaking page.
support
KeymasterNo problem, we have updated the step 6 of the tutorial.
We absolutely did not mind your post. You provided a very accurate description of the issue, and sufficient information for us to fix issues within our control, making VisualGDB better for every other user interested in ITM.
For context, at the time the tutorial was made, there was not much documentation on the “SWO EnableTarget 0 0 1 0” command on the Segger side, so we suggested using it as is. Over time, a couple of users reported issues with ITM, so we redirected them to Segger support (since the ITM handling is implemented inside the J-Link software) that helped them resolve the issue. Turns out, Segger updated the documentation on their side, and was likely directing the users to it. Now that we have updated the tutorial to point to the new documentation, it should make things easier for everyone.
support
KeymasterHi,
This looks like an issue of a specific demo project, and not a VisualGDB bug. Please note that if the project doesn’t build from command line, importing it into VisualGDB will not automatically fix the build errors, since VisualGDB would be using exactly the same command line producing the same result.
March 13, 2022 at 20:35 in reply to: InitializeBuildProjectContext on first build of clean source #32393support
KeymasterThanks for narrowing it down. Indeed, the directory would usually be created by other MSBuild targets, so InitializeBuiltProjectContext did not need to do it. It is hard to say why this project is different, but we have simply added an extra check for creating the directory if it was missing. Please feel free to try this build: VisualGDB-5.6.104.4545.msi
support
KeymasterHi,
Thanks very much for the very detailed description. Indeed, the Wiki page you linked is newer than the one we used when writing the tutorial and explains the SWO EnableTarget command much better. We have added a new step to the tutorial (#13) explaining how to specify the frequency manually and linking it to the new Wiki page. We have also added a note about the VisualGDB Output window used in the newer VisualGDB versions.
March 11, 2022 at 08:56 in reply to: InitializeBuildProjectContext on first build of clean source #32383support
KeymasterHi,
This looks like a rather complex setup that contains some rare combination of settings triggering unexpected behavior. The best way of troubleshooting it would be to reproduce it on a clean project from scratch and document the exact steps it takes to trigger the issue. Most likely, the issue will start happening after you change some specific setting.
If you can describe the setting that triggers the issue (or the entire repro steps with the relevant screenshots), we should be able to suggest a fix/workaround.
support
KeymasterHi,
The ESP32 semihosting (apptrace) is implemented by the Espressif’s OpenOCD fork. Last time we checked, it only supported device-to-host transfers (i.e. saving the output generated by the device to a text file via the esp32 apptrace start command).
Feel free to double-check this with Espressif – if there is a reliable way to send the data to the device via the same mechanism, we can gladly add support to it on the VisualGDB side.
support
KeymasterSure, you can always download the packages manually via this page and install them via the VisualGDB Package Manager.
If you want to see all package versions, you can always use the following link to download the package catalog file manually: https://visualgdb.com/hwsupport/catalog?version=latest
support
KeymasterHi,
Please find the answers to your questions below:
- VisualGDB reuses the regular Visual Studio GUI for adding sources/headers to projects. If you are new to Visual Studio, please consider following a few generic Visual Studio tutorials first in order to get familiar with the basics. Our tutorials indeed focus on the functionality introduced by VisualGDB, and assume basic knowledge of common Visual Studio features.
- VisualGDB does not change the way the program would read text files. If your program is crashing with a seg fault, it likely does something incorrectly. If you suspect that the issue is introduced by VisualGDB, please consider debugging the program manually via gdb. If you can confirm that it works when launched manually and doesn’t work with VisualGDB, we can help you configure VisualGDB to replicate the manual debugging results.
support
KeymasterHi,
This looks like something specific to GoogleTest, rather than VisualGDB. Please consider asking around on the GoogleTest github repository on Github, or simply inspecting the GoogleTest source code.
support
KeymasterThis looks like something specific to the ESP-IDF (e.g. a bug or a toolchain compatibility issue).
Our best advice would be to export the CMake command line used by VisualGDB to a batch file as shown here. This will help you reproduce the problem outside VisualGDB and use the ESP-IDF documentation to address it.
Once you get the build outside VisualGDB working, feel free to share both original and adjusted command line, and we will help you configure VisualGDB to replicate the correct one.
support
KeymasterSorry, auto-discovered paths within the toolchain directory is usually somewhat rare (ESP-IDF is indeed an exception), so the include path discovery doesn’t have any special logic for this case.
That said, since the settings are stored in CMakeLists.txt files, it’s extremely easy to adjust them by selecting the relevant block and doing a find-and-replace.
support
KeymasterHi,
No problem, this function layout indeed triggered a bug in the Outline view, preventing other IntelliSense functionality from working. We have fixed it in this build: VisualGDB-5.6.104.4543.msi
support
KeymasterIndeed, VisualGDB will set the IDF_TARGET to just esp32s3 per the XML file. You can verify it by dumping the CMake configuration command to a batch file and rechecking/tweaking it. We suggested editing BSP.XML because the ESP-IDF might have expected IDF_TARGET to be esp32s3(beta2).
Either way, it’s good to know it works with ESP-IDF 4.4. We will also keep an eye for feedback on the OpenOCD issues, and will consider switching the drivers installed by VisualGDB to libusbK.
-
AuthorPosts