Forum Replies Created
-
AuthorPosts
-
support
KeymasterLook like something on your computer is preventing VisualGDB from running the Arduino builder properly.
Please double-check that your antivirus is not blocking the following file:
C:\Program Files (x86)\Sysprogs\VisualGDB\Arduino\arduino-builder.exe
If it doesn’t help, please open View->Other Windows->VisualGDB Diagnostics Console, reproduce the problem and share the log from the console.
support
KeymasterHi,
The Makefile itself does not get overwritten (it is part of the VisualGDB’s design to do small and very focused edits to the Makefile itself so that our users can edit it to modify the build logic), however the auxiliary files (e.g. stm32.mak) do get overwritten. As long as you edit the files that do not have the “THE FILE WILL BE OVERWRITTEN” warning, you should be on the safe side.
support
KeymasterHi,
According to our records, your trial has started considerably earlier (see your previous forum account). We are happy to help users that have active VisualGDB licenses, or are evaluating VisualGDB (i.e. running the 30-day evaluation period to decide whether it could be useful in their environment), however we are not able to provide any help outside of these constraints. If you are looking for a free IDE/code editor that does not come with any limitations, please consider using Vim, Emacs or Eclipse.
support
KeymasterAccording to our records, your trial has expired, so unfortunately we won’t be able to provide any further support unless you purchase a VisualGDB license. Sorry.
support
KeymasterAccording to our records, your trial has expired, so unfortunately we won’t be able to provide any further support unless you purchase a VisualGDB license. Sorry.
support
KeymasterHi,
It looks like your system sets the %AS% environment variable to the default x86 assembler and the Makefile picks it up. Please try locating the following code in your Makefile:
ifeq ($(AS),) AS := $(CC) ASFLAGS := $(CFLAGS) $(ASFLAGS) endif
Once you locate it, simply make it unconditional (remove the ifeq and endif lines). This will override the incorrect value inherited from the environment.
February 13, 2019 at 06:51 in reply to: Do not seperate in "source files" and "header files" folders #23829support
KeymasterHi,
We were just going to suggest that option, but it looks like you were faster. In case anyone else searches for this, the option is called “Group sources by paths” and is available for CMake-based, ESP-IDF-based and Arduino-based projects.
February 13, 2019 at 06:48 in reply to: Synchronize sysroot from specific folder on Linux machine #23828support
KeymasterHi,
The automatic sysroot synchronization indeed can only download the files from the root of the target filesystem. The easiest way to work around it would be to synchronize the files manually using SmarTTY, or add custom project shortcuts (requires Custom edition or higher) for downloading the arbitrary directories from arbitrary machines into the toolchain’s sysroot. Once defined as a custom shortcut, you will be able to trigger synchronization via the Project menu.
Regarding the case sensitivity, such files will indeed override each other on the Windows side. You can try enabling the case-sensitive mode for a specific NTFS folder as described here, but this may not be handled correctly by the toolchain or Visual Studio itself. Generally, unless you are building custom kernels, this should not be a problem as this type of file name collisions is rare. If it does interfere with your projects, please consider creating an Advanced CMake-based project configured to directly access the remote filesystem via SSH. This mode will properly handle case-sensitive file names, although you would need a Linux machine to build the code.
support
KeymasterThanks for the update. Looks like the busybox version on your target is more limited than one we tested.
The problem happens because VisualGDB tries to run the following command line in order to list all files in a certain directory:
find . -maxdepth 1 -print0 | xargs -0 stat -c "StatEntryL:|%N|%Y|%d|%s|%f"
It uses the ‘-0’ option so that xargs won’t get confused if some of the file names have spaces. We have tested this on busybox 1.27.2 and it did work, so if possible, please try updating the busybox version on your target. If this is not possible, please try running ‘xargs –help’ on your target and share the output so that we can try to find a command line that will work on your target.
support
KeymasterHi,
Please double-check with Espressif (the vendor for ESP-IDF) whether there is an officially supported and stable way to do this. If yes, we will be happy to add a GUI setting for it.
support
KeymasterHi,
VisualGDB sets the optimization level to “none” for debug builds because this makes it easier to debug the project. Debugging optimized code could be very complicated as the compiler would often reuse common chunks of generated code (complicating stepping) or destroy the values of the variables once they are no longer needed (preventing you from evaluating most of them in the debugger).
If your project only works with some optimization levels, but not with others, it likely contains bugs triggered by a specific memory layout, or runs out of stack/heap space. Either way, we would advise investigating this as it might cause further trouble in production code.
support
KeymasterHi,
Yes, simply right-click on the project in Solution Explorer, select “Open ESP-IDF terminal here” and VisualGDB will launch the MinGW2 shell where you can run commands like “make monitor”.
If you are looking for something different, please let us know and we will try to provide a better suggestion.
support
KeymasterThanks for the project files. From a very brief look, it appears you main test project had code coverage disabled on the MSBuild level, so the test container generated by MSBuild (that is essentially a snapshot of MSBuild-level properties necessary for VisualGDB to launch the project outside MSBuild) did not have any coverage-related settings.
After we changed the setting (see below), the container appears OK.
We will run a few more tests on your solution and see if we can improve the usability for this scenario.
Attachments:
You must be logged in to view attached files.support
KeymasterHi,
Thanks for reporting this. We have added support for detecting busybox and using a different command line in the following build: http://sysprogs.com/files/tmp/VisualGDB-5.4.100.2792.msi
BTW, installing SysprogsSync to the target should be very straight-forward (see this page). It’s just one C++ file, so you can simply build it with the cross-compiler and deploy it to /usr/bin. That will significantly increase synchronization performance compared to file-by-file mode.
support
KeymasterHi,
Please try setting the VISUALGDB_VERBOSE_OUTPUT and VISUALGDB_SHOW_DIAGNOSTIC_OUTPUT variables to 1 before running VisualGDB. This should produce a much more detailed error message, that should help us pinpoint the root cause (likely one of the XML files being corrupt).
VisualGDB runs unit tests on the hardware by automatically programming the target with OpenOCD (or J-Link depending on the project configuration), reading structured test reports via semihosting and reporting the results to VS. Normally all you need to do is run VisualGDB.exe /runtests <test container file> on a machine/user account where you would be normally able to debug the project (i.e. that has all the necessary packages installed) and VisualGDB will do everything automatically and will generate a report file (see output from running VisualGDB without arguments for a detailed list of the supported switches).
Let us know if you have any further questions and we will be happy to help.
-
AuthorPosts