{"id":27224,"date":"2020-01-23T22:37:22","date_gmt":"2020-01-23T21:37:22","guid":{"rendered":"https:\/\/sysprogs.com\/w\/?p=27224"},"modified":"2020-04-21T19:29:05","modified_gmt":"2020-04-21T18:29:05","slug":"announcing-visualgdb-5-5-preview-3","status":"publish","type":"post","link":"https:\/\/sysprogs.com\/w\/announcing-visualgdb-5-5-preview-3\/","title":{"rendered":"Announcing VisualGDB 5.5 Preview 3"},"content":{"rendered":"<p>Today we have released VisualGDB 5.5 Preview 3. This version features automatic repair of the most common C\/C++ build errors, supports unit tests for IAR- an ESP-IDF-based projects, and introduces numerous other improvements. I will give you an overview of the main highlights below.<\/p>\n<p><!--more--><\/p>\n<h2>Automatic Symbol Search<\/h2>\n<p>One of the most annoying types errors for C\/C++ projects are the errors caused by missing headers or libraries. If you ever had to inetgrate 3rd-party code into your projects, you have likely spent some time resolving the infamous <strong>&#8216;foo&#8217; was not declared in this scope<\/strong> error. VisualGDB 5.5 Preview 3 has the smarts to automate this process for you. Simply click on &#8220;<strong>Search common headers for &lt;Symbol&gt;<\/strong>&#8221; next time the compiler complains about a missing symbol and let the search begin:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2020\/01\/01-search.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-27225\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2020\/01\/01-search.png\" alt=\"\" width=\"759\" height=\"144\" \/><\/a>VisualGDB will automatically scan the headers in the project&#8217;s include directories (including the system headers and project-specific headers) and will use Clang IntelliSense to tell apart the actual declaration from comments, similar-looking fields inside structures, forward struct declarations and other false positives:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2020\/01\/02-inc.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-27226\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2020\/01\/02-inc.png\" alt=\"\" width=\"662\" height=\"285\" \/><\/a>VisualGDB caches every symbol it finds during the symbol search, so once it gets a chance to look through the most common headers, the suggestions will appear immediately:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2020\/01\/03-auto.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-27227\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2020\/01\/03-auto.png\" alt=\"\" width=\"651\" height=\"176\" \/><\/a><\/p>\n<p>The symbol search is not limited to finding header files. It will also help you troubleshoot the dreaded <strong>undefined reference to &#8216;bar&#8217;<\/strong> error via a tooltip in the new VisualGDB Build window:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2020\/01\/04-pthr.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-27228\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2020\/01\/04-pthr.png\" alt=\"\" width=\"867\" height=\"286\" \/><\/a>Similarly to header search, VisualGDB will scan the nearby libraries for <strong>definitions<\/strong>\u00a0of the missing symbols and will let you pick the one that fits the best:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2020\/01\/05-ref.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-27229\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2020\/01\/05-ref.png\" alt=\"\" width=\"540\" height=\"285\" \/><\/a><\/p>\n<h2>Embedded Projects<\/h2>\n<p>The troubleshooting capabilities of the Preview 3 get supercharged if you are using it to develop embedded projects based on the recently released BSPs. Those BSPs come with special annotations that help VisualGDB discover missing configuration file entries, framework references, etc:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2020\/01\/06-enable.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-27230\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2020\/01\/06-enable.png\" alt=\"\" width=\"519\" height=\"418\" \/><\/a><\/p>\n<p>This is especially useful for Nordic nRF5x projects where each component of the complex Bluetooth LE stack needs to be enabled independently via VisualGDB Project Properties:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2020\/01\/nrf.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-27231\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2020\/01\/nrf.png\" alt=\"\" width=\"816\" height=\"337\" \/><\/a><\/p>\n<p>Talking about configuration files, VisualGDB 5.5 Preview 3 features a graphical editor for common entries in the STM32, FreeRTOS and nRF5x configuration files, so you can easily find and edit them in one place:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2020\/01\/07-props.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-27232\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2020\/01\/07-props.png\" alt=\"\" width=\"1176\" height=\"754\" \/><\/a><\/p>\n<h2>Unit Test Improvements<\/h2>\n<p>VisualGDB 5.5 Preview 3 includes out-of-the-box support for ESP-IDF unit tests. You can now use Solution Explorer to add test cases to your components and then use the regular Test Explorer GUI to run or debug any subsets of tests at your choice:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2020\/01\/08-idftests.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-27233\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2020\/01\/08-idftests.png\" alt=\"\" width=\"1274\" height=\"920\" \/><\/a><\/p>\n<p>Preview 3 also supports simultaneous debugging of multiple STM32H7 cores, unit tests for IAR-based projects and contains numerous usability improvements and fixes.<\/p>\n<h2>Try It Out<\/h2>\n<p>You can download VisualGDB 5.5 Preview 3\u00a0<a href=\"http:\/\/visualgdb.com\/download\/\">here<\/a>. Don\u2019t hesitate to\u00a0<a href=\"https:\/\/sysprogs.com\/support\/\">write to us<\/a>\u00a0if you have a feature suggestion, or encounter a bug. You can also browse the full VisualGDB change log\u00a0<a href=\"http:\/\/visualgdb.com\/history\/\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today we have released VisualGDB 5.5 Preview 3. This version features automatic repair of the most common C\/C++ build errors, supports unit tests for IAR- an ESP-IDF-based projects, and introduces numerous other improvements. I will give you an overview of the main highlights below.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/posts\/27224"}],"collection":[{"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/comments?post=27224"}],"version-history":[{"count":8,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/posts\/27224\/revisions"}],"predecessor-version":[{"id":27241,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/posts\/27224\/revisions\/27241"}],"wp:attachment":[{"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/media?parent=27224"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/categories?post=27224"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/tags?post=27224"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}