Forum Replies Created
-
AuthorPosts
-
support
KeymasterHi,
VisualGDB already supports the ANSI escape codes. We have tested the following code with STM32 and it was properly outputting “t2st”:
printf("test\n\x1b[1;2H2\x1b[1;1H"); fflush(stdout);There was, however, a bug where the semihosting console state was not properly reset if the previous debug session contained invalid/incomplete escape codes. We have fixed it in this build: http://sysprogs.com/files/tmp/VisualGDB-5.4.4.2400.msi
support
KeymasterHi,
Thanks for reporting this. We have fixed individual target building when using Ninja (and also improved it for regular GNU Make). Please try this build: http://sysprogs.com/files/tmp/VisualGDB-5.4.4.2400.msi
support
KeymasterHi,
No problem and thanks for your feedback. We have added the ‘Properties’ command to ESP-IDF components in the following build: http://sysprogs.com/files/tmp/VisualGDB-5.4.4.2400.msi
Let us know if you have further usability-related feedback and we will be happy to make VisualGDB even better.
support
KeymasterHi,
Unfortunately this is a limitation of the Segger gdb stub. In order to avoid race conditions between live variables and the actual debugger, VisualGDB needs to use a relatively slow memory reading interface.
You could try manually changing the UseUnreliableLiveMemoryEngine node in the .vgdbsettings file to force VisualGDB to use a faster memory access mechanism, however it could cause random crashes and/or unexpected behavior.
support
KeymasterHi,
Good to know it works.
Most of the pages look better on high-DPI displays as we have switched them to a more modern WPF technology. The Debug Settings page is one of the next property pages on our WPF conversion list.
support
KeymasterHi,
Sorry, this is a known limitation. Please update to VisualGDB 5.4 Preview 4.
support
KeymasterHi,
Thanks for the screenshots. Looks like the Clang IntelliSense is successfully initialized.
Please try locating the following file:
%LOCALAPPDATA%\VisualGDB\ToolchainProfiles\<host name>\com.sysprogs.toolchain.default-gcc-\IntelliSense.props
Does the __cplusplus value recorded there match what you expect? Are you using the correct “language standard” setting in VS Project Properties -> C/C++?
support
KeymasterHi,
Thanks for reporting this, looks like our bug introduced during a recent LXSS-related fix. Please try this build: http://sysprogs.com/files/tmp/VisualGDB-5.4.4.2398.msi
support
KeymasterHi,
Thanks for confirming this. We have fixed the programming port location logic in this build: http://sysprogs.com/files/tmp/VisualGDB-5.4.4.2396.msi
If you want to be able to clone the library into the Arduino libraries folder, please consider moving your Visual Studio solution (and VisualGDB project) into a subdirectory instead (e.g. examples). It cannot be the same directory as the sketch files though, as Arduino will try to copy it recursively to the build directory. If this doesn’t help, let us know and we will try to suggest something better.
VisualGDB does provide a built-in terminal (Raw Terminal in VisualGDB Project Properties), although it is only available in the Custom edition and higher. If you are using a lower edition, please consider our free SmarTTY tool. It is functionally equivalent, although will run in a separate window and won’t be synchronized with launching the project.
support
KeymasterHi,
Thanks for reporting this, looks like our bug. We have updated our BSP generator to include this register in the next BSP release (expected within the next month).
As a workaround, please try replacing the stm32l432xx.xml.gz file in your BSP directory with this one: http://sysprogs.com/files/tmp/stm32l432xx.xml.gz
support
KeymasterHi,
No problem. We will consider updating the wizard controls as a part of introducing the new transfer engine.
support
KeymasterHi,
VisualGDB takes the VS2017 path from registry. You can find details about this on the following page: http://visualgdb.com/support/loadfail/
Please modify the registry so that it points to the correct VS instance and re-run the VisualGDB installer.
support
KeymasterHi,
Thanks for the repro project. It looks like you are trying to exclude a directory using the mask for files.
Instead please choose “include selected subdirectories only” and select all subdirectories instead of .build.
We are also working on an improved file transfer engine that will allow specifying more complex rules instead of the current files/directories settings, so feel free to get check back in a few weeks and try the next preview build once we release it.
support
KeymasterHi,
Strange. Would you be able to create a basic repro project and send it to us? That should be the easiest way for us to see what is going on.
support
KeymasterHi,
It is hard to say why scanf() would not work with USB, but generally stepping through the _read() function shown in the tutorial should help.
Debugging the USB devices is a bit tricker than the regular embedded code, but is still totally possible. Windows will consider your device “not responding” if it fails to respond to USB requests within a certain time-out (usually in hundreds of milliseconds). Stopping at a breakpoint to examine the program state would trigger this, however adding and removing breakpoints while the program is running would not (it involves a very short stop that VisualGDB handles automatically).
Hence we would advise starting the debug session without breakpoints, getting to the point where the code loops indefinitely and then setting a breakpoint and stepping through it. Stepping through the code will likely time out the USB communication, but it should provide sufficient clues about the internal state of the USB-related logic. Once it breaks, simply disable/remove your breakpoints, restart the device, wait for Windows to discover it and set the breakpoint(s) again.
-
AuthorPosts