Forum Replies Created
-
AuthorPosts
-
April 21, 2016 at 17:31 in reply to: Error Messages with Keil MDK-ARM Compiler not parsed correctly #8035
support
KeymasterThis might the case if the error output format of the compiler has changed. The regexes are indeed case-sensitive. Please try moving the file out of the way, building the project to see the raw error message and then using the online regex debugger to see whether the regex in the file matches the output. If not, you should be able to easily adjust it. Let us know if you need help.
support
KeymasterHi,
It looks like you are trying to add header files (.hpp) to the library list. This won’t work as those are different types of files. Header files contain definitions of your functions and you should be referenced by adding their directories to the Include Directories field. Then the #include<> directories will handle them properly. When this is not setup properly, you will get errors like “cannot open file xxx.h”.
Library files (.a or .so) contain compiled implementations of your functions and should be added to the Library Names field (without the ‘lib’ prefix and extension, more details here). When some libraries are missing, you will typically get errors like “unresolved reference to xxx”.
We would recommend first solving the problems with the header files (the code should at least compile and then get stuck at ‘unresolved reference’ problems) and then add the missing libraries to VisualGDB Project Properties. You can find the libraries by simply searching the OpenCV build directory for .a and .so files.
support
KeymasterHi,
This is not supported directly, however can be easily achieved with per-user variables: simply set them so that other users will have an irrelevant mapping (like /tmp/suchpath <=> c:\nosuchpath) and you will get the same effect.
support
KeymasterHi,
Yes, you can change the “CMakeLists.txt directory” field on the CMake Settings page of VisualGDB Project Properties.
support
KeymasterHi,
Thanks for reporting this. The compression implementation comes from the libssh2 library that VisualGDB/SmarTTY is using and we don’t really want to modify it as it could create more problems that it would solve. You can experiment with building the latest version (we use 1.6.0) from sources and replacing the DLL that comes with VisualGDB.
If the debugging is slow, most likely this is caused by the latency and not the bandwidth (unless you are debugging over a dial-up connection or something similarly slow). We would recommend using the command timing analysis button in the GDB Session window to find out which commands take the most time.
support
KeymasterHi,
Just tried reproducing that, but the StdPeriph LEDBlink sample did show up. Perhaps something else caused it to disappear?
support
KeymasterAre you using the Clang IntelliSense engine? When we tried reproducing the problem, pressing ctrl-space showed the suggestion list with one entry, but did not result in ‘stop_realtime_timeraltime_timer’.
support
KeymasterHi,
We would recommend first ensuring that you can add the library to a basic “Hello, World” project by following one of our OpenCV tutorials. Once that works, simply take a note of the include paths and library names added to the Hello, World project and add them manually to the Qt project via VisualGDB Project Properties. This will let your Qt project use OpenCV the same way as the Hello, World project does.
April 20, 2016 at 18:12 in reply to: Error Messages with Keil MDK-ARM Compiler not parsed correctly #8017support
KeymasterHi,
It should not normally require any extra steps. Can you double-check that the XML file got saved to the c:\program files(x86)\sysprogs\VisualGDB? Perhaps the UAC folder redirection got it saved into a different place accidentally?
support
KeymasterHi,
You can set per-user variables and simply reference them in the path mappings.
support
KeymasterHi,
The problem is that this behavior is defined inside the gdb itself and the only way to override it would be via modifying the gdb sources. As there are many different platforms where gdb runs, maintaining such a modified version would be unsustainable.
VisualGDB does not show getters by design – to avoid accidentally invoking some function that may crash your program. If you want to get more usable display of your variables and fields, you can create .natvis files defining how to extract meaningful information from complex objects.
support
KeymasterHi,
Thanks for the video. The problem might be related to the one of the changes you made. To double-check that please try running exactly the code we provided, without disabling the watchdog and with exactly the same period.
If you can confirm that it does not work, the problem is in the hardware. If it starts working after removing watchdog-related code, the problem is related to the watchdog.
Regarding os_printf(), the gdb stub does support that. VisualGDB currently displays the output from the stub in the GDB Session window together with the other gdb output (you need to select “All GDB interaction”). We will support displaying it separately in the next major release of VisualGDB.
support
KeymasterHi,
This comes from the gdb’s implementation of running functions in Watch expressions. It runs them ‘as is’ and does not check for things like null pointers.
Evaluating functions in-place is a powerful debugging feature, but it needs to be used carefully as there is no 100% safe way to run arbitrary functions in native code without potentially crashing the program.
support
KeymasterHi,
Normally VisualGDB should be able to parse the GCC output and show it in the Errors window. Are you using a cross-compiler or compiling directly on the Linux machine?
support
KeymasterThe link shows “the video is private”. Did you manage to get the code we sent working without any modifications?
-
AuthorPosts