Forum Replies Created
-
AuthorPosts
-
supportKeymaster
Hi,
The regular IntelliSense is managed directly by VS and might not support C++17 if you are using an older Visual Studio. Even the latest Visual Studio might not support some variants of GCC extensions.
Does IntelliSense work as expected with similar code on a regular Win32 project (non-VisualGDB based) and the same VS version?
supportKeymasterHi,
It looks like your technical support period has expired. We would be happy to help you, however we would kindly ask you to renew your technical support on the following page first: https://sysprogs.com/splm/mykey
supportKeymasterHi,
The VisualGDB’s unit test logic was designed to handle many different device types that don’t always have an stdout stream. So, we patched the test frameworks to output the test results in a machine-readable format into a separate channel, independent from the main output, if any. The task of translating the test results into a machine-readable format is done on the target by the code in our patch. If you would like to eliminate the patch, you would need to create a separate proxy application that would read the test results from stdout, parse them via regexes, and forward them back to VisualGDB via the VisualGDB-specific format. If you are willing to implement it, we can add a setting for running an external test result translator, but using the patched versions of the test frameworks could be just easier. The patches are very straight-forward, can be easily applied to other test framework versions, and don’t change the test framework license.
You can use the CMake presets together with the simulation platforms, however it would involve manually editing some configuration files. First of all, please try adding a simulation platform to a regular Advanced CMake project and take a note of the changes it does to the .vgdbcmake file: it will add a new XML node in Configurations/VisualGDBConfiguration[PlatformName=”Simulation”] overriding the project settings (Embedded -> MinGW) and Debug Settings (Embedded Debug -> MinGW Debug). So, whenever you select the Simulation platform, VisualGDB will replace the project and debug settings with the ones from the Configuration node.
When using CMake presets, the Platform is fixed to the default one, and the preset names are mapped to configuration names. So, you can copy the Configuration element from the non-preset project into the same location in the preset-based .vgdbcmake file, and replace the <PlatformName>Simulation</PlatformName> with <Name>YourPresetName</Name>. This will override the settings for that preset just like it previously did for the Simulation platform.
The multiple unit test targets are indeed not supported yet. We will look into adding them and will post an update here in the next couple of weeks.
supportKeymasterHi,
It looks like your technical support period has expired. We would be happy to help you, however we would kindly ask you to renew your technical support on the following page first: https://sysprogs.com/splm/mykey
supportKeymasterHi,
If the main() function calls the same entry point from the test framework, it should work just fine.
You should be able to get more details by opening View->Other Windows->VisualGDB Diagnostics Console, or by running test manually via VisualGDB.exe /runtests with the following environment variables set:
- VISUALGDB_SHOW_DIAGNOSTIC_OUTPUT=1
- VISUALGDB_VERBOSE_OUTPUT=1
If nothing helps, you can also try a black box approach:
- Disable automatic project rebuilds.
- Get 2 very similar proof-of-concept projects, one using our framework properly and another one having the files added manually.
- Make sure the first one works.
- Replace the binary file produced by the first project with the second one and retry running it.
- If it still works, the problem is caused by something in the project settings. You can try comparing the .vgdbsettings files from both projects.
- If the second binary copied in the first project doesn’t work, something inside the binary is off. You can try running objdump -t on both binaries to get the list of all symbols, sorting them by names, and comparing them via a diff tool. Any obvious differences (e.g. missing symbols or significantly different function sizes) should point to the root cause.
supportKeymasterHi,
It looks like your technical support period has expired. We would be happy to help you, however we would kindly ask you to renew your technical support on the following page first: https://sysprogs.com/splm/mykey
supportKeymasterHi,
Thanks, we have linked your key to your profile.
You can configure the GDB signal handling behavior via the “signals” button in the GDB session window: https://visualgdb.com/documentation/gdbsession/#signals
May 30, 2024 at 08:18 in reply to: Espressif ESP32 Staging Components Preview: fails to find component #35688supportKeymasterHi,
If the components registry is working on WSL, but not on regular Windows, it could be a bug in ESP-IDF. Using ESP-IDF via VisualGDB will not automatically fix it. Please make sure you can build it via Windows command line/batch file before trying to fix it on VisualGDB’s end.
If changing something via VisualGDB GUI crashes Visual Studio, please consider obtaining a call stack of the crash as shown here: https://visualgdb.com/support/callstack
supportKeymasterHi,
Thanks for sharing this!
May 28, 2024 at 17:47 in reply to: Espressif ESP32 Staging Components Preview: fails to find component #35678supportKeymasterHi,
If you would like VisualGDB to pass an environment variable to CMake, you would need to set it via VisualGDB Project Properties -> CMake Project -> CMake Command -> Environment.
You can then double-check it by dumping the command used by VisualGDB to a batch file as shown here. The file should contain all environment variables set by VisualGDB and running it should produce the same result as building the project with VisualGDB.
supportKeymasterHi,
It looks like your technical support period has expired. We would be happy to help you, however we would kindly ask you to renew your technical support on the following page first: https://sysprogs.com/splm/mykey
May 26, 2024 at 10:54 in reply to: New Arduino project on esp32 – incorrect mapping only on cpp files #35666supportKeymasterThanks for renewing your license. The J:\ArduinoProject1\Output\ESP32_Wrover_Module\Debug\sketch\test.cpp path is likely derived by VisualGDB from the default base directory (J:\ArduinoProject1\Output\ESP32_Wrover_Module\Debug\sketch) and the relative part (test.cpp).
You can try setting the Default Windows Directories -> Relative Paths option on the Path Mapping page to J:\ArduinoProject1\sketches and see if it fixes the path computed by VisualGDB.
Another workaround would be to enable VisualGDB Project Properties -> Advanced GDB Settings -> Common Workarounds -> Use file names only when setting breakpoints. This will shorten the paths used in -break-insert to just file name (e.g.
-break-insert -f test.cpp:7
), working around most path mapping glitches.supportKeymasterHi,
Thanks, this is indeed a bug in the completion system, although it looks like a very rare scenario.
We have added special handling for spaces in preprocessor directives to this build: VisualGDB-6.0.103.5192.msi
If you encounter other cases where spaces break completion logic, feel free to share the repro steps and we will look into it.
Attachments:
You must be logged in to view attached files.supportKeymasterHi,
According to the screenshots, you are referencing a 3rd-party library that is raising the error.
Please try creating a similar project manually outside VisualGDB using the same toolchain referencing the same library.
If it works without errors, please share the screenshots of the manual process (including the screenshots of all files you edited), and we will help you configure VisualGDB to match the manually configured project.
supportKeymaster@bflannery, thanks for the link
@Nakame, If you believe this is a VisualGDB problem, please make sure you can reproduce it on a clean project created from scratch. If it persists, please share complete repro steps that we could follow on our side to reproduce the issue. Please make sure the steps include the screenshots of all screens where you change any settings (e.g. all wizard pages). You can read more about the scope of VisualGDB support here: https://visualgdb.com/support/scope/ -
AuthorPosts