What is Included in Technical Support

The technical support included in our license price assumes that users are familiar with the underlying technologies and tools (e.g. familiar with C/C++ and have a good knowledge of the devices they are targeting).

In other words, if you know exactly how to solve a particular problem without VisualGDB, but are looking for VisualGDB to improve your productivity and avoid repetative routine work, we can help you make the best use of VisualGDB featuers. If you need help fixing a broken project, understanding how to use some STM32 APIs, or struggling with a crashing application, we can always help you at our consulting rate, but it won't be included in the regular product license.

Because VisualGDB works together with many other components (compilers, frameworks, sample projects from device vendors, JTAG device drivers, etc.), it is sometimes hard to tell whether an issue is caused by VisualGDB or by some other component. In order to determine whether an issue is covered by the VisualGDB support, we use the steps below:

  • If you are asking how to configure VisualGDB to solve a problem, make sure you know how to solve the same problem using any other common IDE or command-line tools. E.g.:
    • "How do I specify include directories for a CMake project?" is covered by VisualGDB support. We will point you to the relevant documentation.
    • "How do I get the STM32 timer to run from the internal oscillator?" is not covered by VisualGDB support, because it is not VisualGDB-specific. You would need to change the code in the same way, as if you were using a different IDE.
    If you are new to C++ or a specific device family, you are welcome to use VisualGDB to explore the sample projects from different sources, however our support will not be able to explain their internals or adjust them to your needs.
  • If you have encountered a problem involving VisualGDB, please make sure it is specific to VisualGDB:
    • If the problem involves a build error, make sure the same project can be built with the same toolchain outside VisualGDB. If not, please fix it in the command-line build first. Our support can help you replicate the successful build result with VisualGDB, but it won't help porting the project to a different compiler or device.
    • If your JTAG debugger is not working with a particular device (or the device is behaving in a strange way), make sure the same doesn't happen when running OpenOCD or other debugging tools directly. If the problem persists outside VisualGDB, it is not caused by VisualGDB and is not covered by VisualGDB support.

How to Simplify Problem Descriptions

If you encounter a strange error that only happens in a certain complex environment, follow the steps below to simplify it:

  1. Create a project of the similar type from scratch. Try to use the default settings or follow one of our tutorials as close as possible.
  2. If the project doesn't build from scratch, your toolchain or other tools might be corrupt. Try reinstalling them via Tools->VisualGDB->Manage VisualGDB Packages.
  3. If the issue doesn't happen with the newly created project, try comparing the settings files between the 2 projects, and moving the settings one half at a time.
  4. Once you identify the exact setting that causes the problem, please provide us with a brief description, and we will fix it or help you find a workaround.

The Complete Repro Steps

If we cannot reproduce the problem based on the brief description, we would ask you to provide the complete repro steps.

  • The steps should begin with starting Visual Studio and show every step you take to create a project
  • Every step should be accompanied by a full uncropped screenshot.
  • The steps should not include opening or importing any external files, unless these files can also be created from scratch in reasonable time.

For simplicity, you can simply take screenshots of all the wizard pages and settings you change and paste them into a PDF file. Make sure you also include the relevant logs as text, so we can search them for known issues.