Forum Replies Created
-
AuthorPosts
-
support
KeymasterThe toolchain.cmake file generated by VisualGDB normally just points CMake to the toolchain executables. Unless you manually edit toolchain definition files, it would not inject any implicit flags there.
You can try completely deleting and reinstalling both VisualGDB and the toolchain and creating a new project from scratch. If the toolchain.cmake file generated by VisualGDB still contains optimization flags after it, feel free to attach it here and we will investigate.
support
KeymasterIf you already have an existing toolchain.cmake file, we would advise simply pointing VisualGDB to it instead of creating a new empty one.
Edit: you can also try manually setting DisableToolchainFile in the .vgdbcmake file to false to completely disable the VisualGDB-level handling of toolchain files.
-
This reply was modified 11 months, 3 weeks ago by
support. Reason: Mentioned DisableToolchainFile
support
KeymasterHi,
Thanks for the repro steps. If you do not want VisualGDB to generate a toolchain.cmake file, please try using the “Use existing CMAKE_TOOLCHAIN_FILE” option on the import page of the wizard (step 5 in the PDF). You can also change it via VisualGDB Project Properties (Step 6, second setting from the bottom in the first group).
support
KeymasterHi,
It really depends on how you imported the project and toolchain.
If you need help locating the relevant setting, please make sure you can reproduce the issue on a new project created from scratch. Then, please share the exact steps needed to reproduce it, along with the relevant screenshots, and we will try to point out the setting that is causing this.
support
KeymasterHi,
Then VisualGDB should not change any flags unless you have overridden it somewhere.
You can export the exact build/configuration commands used by VisualGDB as described here and compare them against the manual build commands.
support
KeymasterHi,
If this is an nRFConnect project, you can reset optimization options via the first page of VisualGDB Project Properties.
support
KeymasterHi,
Sorry, these are legacy devices with not that many active users, so we do not support them.
You can probably get it working by figuring out the correct parameters for the underlying command-line tools and manually configuring VisualGDB to use them, but it would be something for you to figure out.
support
KeymasterHi,
The easiest way to get it working would be to download our Raspberry Pi toolchain and use its toolchain.xml file as a template. The format is pretty self-descriptive: you specify a unique ID, name, paths to various tools, and VisualGDB will run them when building the projects. Fields like tool versions are optional and are used to show meaningful summary in the toolchain selector. Fields related to SD card and target version checks can be removed.
Once you have edited toolchain.xml, you can place it into the FreeBSD toolchain directory, click “locate a new toolchain” in the VisualGDB’s toolchain selector, and point it to the new toolchain.xml file. If you edit the file VisualGDB imported the toolchain, you can open and immediately close Tools->VisualGDB->Manage VisualGDB Packages to reload all changes.
As for LLDB, VisualGDB can automatically detect gdb/lldb based on its reply to “info version”, so you can simply put your lldb executable in the toolchain’s bin folder and add the following line to toolchain.xml:
<GDB>lldb.exe</GDB>
This will override the default name of gdb derived from the <Prefix> field.
If the new lldb binary still doesn’t work, you can try checking the Debug->Windows->GDB Session window in the Raw GDB Output mode. It shows all commands executed by VisualGDB, and their replies. If you can point out specific commands that are not being issued as expected (e.g. require some special flags), we should be able to adjust VisualGDB to accordingly as long as you can confirm that running the updated command manually works as expected.
support
KeymasterHi,
We merely repackage the toolchain that comes from ARM. If you would like us to do a custom build for you, feel free to contact our sales for a quote.
support
KeymasterHi,
The linker itself is a 32-bit executable, so it has a 2GB memory limit rather than 64GB.
VisualGDB itself does not do anything special that would affect the memory usage by the linker. It merely launches Ninja, that in turn launches GCC/ld. If it works from developer power shell and doesn’t work with VisualGDB, you can troubleshoot it as follows:
- Run both builds in verbose mode to obtain the exact linker command lines.
- Try manually running both command lines from a separate command prompt.
- If you can reproduce the behavior (one command line triggers the problem, while the other one doesn’t), try comparing the command lines and editing them to gradually remove the differences, until you narrow down a specific option that triggers the problem.
support
KeymasterHi,
It looks like your antivirus hooks the Visual Studio process (possibly, to scan the downloaded file), and than encounters some kind of a internal error. The easiest way around it would be to add Visual Studio to the exception list.
The manual installation should normally work. If it doesn’t, please share the exact URL of the file you are trying to install, and we will recheck it.
support
KeymasterHi,
Thanks for reporting this. VisualGDB was indeed using a fixed “,” separator when generating CSV files.
We have updated it to use the same system-level setting that Excel does, and also added a manual override option (Tools->Options->VisualGDB->General->Files->CSV file separator).
Feel free to try this build: VisualGDB-6.0.101.5155.msi
support
KeymasterHi,
If the linker did not generate the ELF file, there isn’t anything for VisualGDB to analyze. You can try patching the linker script to temporarily increase the RAM size so that the linker won’t fail, and then use Embedded Memory Explorer.
support
KeymasterHi,
It looks like you have specified invalid settings at some point. Unfortunately, it’s impossible to suggest anything meaningful without knowing what exact settings you have used.
Please try creating a new project from scratch, ensure that it builds, and then try changing one setting at a time until the problem triggers. Once you can reproduce it, please share a screenshot of the exact setting you changed and we will try to suggest a workaround.
support
KeymasterHi,
Normally the first header file should just include the second one. As long as both header files have a #pragma once, it should work just fine.
Another option would be to explicitly open the header file in a context of a .c/.cpp file that includes both of them in the correct order. You can do it via the navigation bar in the new VisualGDB 6.0.
-
This reply was modified 11 months, 3 weeks ago by
-
AuthorPosts