Forum Replies Created
-
AuthorPosts
-
support
KeymasterHi,
We have just published a tutorial on this: http://visualgdb.com/tutorials/linux/3machine/
Let us know if it leaves any questions unanswered.
May 7, 2016 at 18:36 in reply to: Unable to debug std::map when cmake is configured with flag -std=c++11 #8179support
KeymasterHi,
GDB can do that (and will do it automatically with VisualGDB as well) if the A class contains virtual methods. Otherwise it simply cannot determine the type of the object from the base pointer (even under Qt Creator).
May 6, 2016 at 19:19 in reply to: Unable to debug std::map when cmake is configured with flag -std=c++11 #8176support
KeymasterNo problem, we will add support for querying the underlying type in v5.2.
May 6, 2016 at 05:45 in reply to: Changing Compilation Flag for Individual Source Files in VisualGDB VS2015 Commun #8173support
KeymasterHi,
You can do that by hacking the Makefile:
- Modify the file rule templates to include file-specific variables:
$(CXX) $(CXXFLAGS) $($(basename $(notdir $<))_FLAGS) -c $< -o $@ -MD -MF $(@:.o=.dep)
- Add file-specific flags defines above the FileSpecificTemplates line:
LEDBlink_FLAGS := -O0
You can modify the $(basename $(notdir …)) expression to use the directory name instead of the file name and apply some flags to entire directories. See the GNU Make function reference for more details.
support
KeymasterHi,
Please try adding a reference to the Fast Semihosting & Profiler framework via VisualGDB Project Properties => Embedded Frameworks. This should include the Sysprogs-provided implementation of semihosting that is faster than the usual one and should work even if the original one does not.
support
KeymasterHi,
The -std=c++11 is a compiler option, not a preprocessor macro. Please add it to CXXFLAGS instead and everything should work.
support
KeymasterThe main reason why MCU settings are global for the project is because they define which sources from the SDK are put into the project. If we wanted to make it per-configuration, we would have to combine those lists from different configurations and exclude some of the files from some configurations, making the entire process significantly more complicated. So we decided to make the MCU-specific settings global and the usual settings like extra include paths per-configuration.
support
KeymasterThanks for letting us know. In this case you do indeed need the old BSP. If you want to use both ones at the same time, you can simply relocate the old one via GUI and change its ID in the bsp.xml file.
support
KeymasterWe will most likely to that after VisualGDB 5.2 is out around the end of summer. As a workaround you can launch SmarTTY that is built into VisualGDB via VisualGDB.exe /ssh:<connection settings file>.
The connection settings files are located in %APPDATA%\SmarTTY.
support
KeymasterHi,
Yes, you can launch it manually by running “make Debug/<file>.o”. This will force GNU Make to build just one file. The reason why VisualGDB cannot do that conveniently via Ctrl-F7 is that VS does not offer a straight-forward way of doing that for Makefile projects.support
KeymasterHi,
No problem. “Similar, but not quite the same” is the most annoying type of problem.
The “cannot detect target name” message means that VisualGDB was unable to locate the “TARGETNAME := xxx” line in the Makefile and it won’t be able to automatically add the project output to the list of inputs of another project that is referencing it. If you have modified Makefiles manually, this makes sense. If you don’t rely on this feature, you can simply ignore the warning.
support
KeymasterHi,
You can do that via the Debug Settings page (program arguments) or the VisualGDB toolbar. Let us know if you need more details.
support
KeymasterHi,
Yes, you can use that link to download older BSPs. However VisualGDB should have showed a warning that the new SDK is not compatible and suggested regenerating BSP references that should update the library file paths. Did that not happen, or did it not help?
support
KeymasterHi,
OK, if the extern “C” is not the reason, you would need to have a detailed look at what exactly is being linked. Please identify one function that is reported unresolved and then do the following:
- Identify the file where it is defined
- Ensure via the build log that the file is linked into the final binary
- Using the nm tool from your toolchain double-check that the .o file actually defines the function and the name matches the error message
- If this does not help, enable the Map file generation and check the Map file to references to the function.
If nothing helps, please post your map file, your build log and the nm output here along with the function name you are tracing so that we could give further advice.
support
KeymasterHi,
It’s a known limitation and it happens because VisualGDB creates its projects as Makefile projects so Visual Studio can start an external build too when your select “Build All” or start debugging, but it does not have per-file control and cannot do a quick check whether rebuild is necessary. We do have long-term plans of resolving this, but it’s not clear yet whether we can fit it in the next release.
-
AuthorPosts