{"id":9087,"date":"2016-09-20T22:07:59","date_gmt":"2016-09-20T21:07:59","guid":{"rendered":"https:\/\/sysprogs.com\/w\/?p=9087"},"modified":"2016-09-20T22:19:46","modified_gmt":"2016-09-20T21:19:46","slug":"visualgdb-5-2-beta-1-is-out","status":"publish","type":"post","link":"https:\/\/sysprogs.com\/w\/visualgdb-5-2-beta-1-is-out\/","title":{"rendered":"VisualGDB 5.2 Beta 1 is out"},"content":{"rendered":"<p>Today we\u00a0are proud to release VisualGDB 5.2 Beta 1. Aside from seamless unit test support for\u00a0Embedded, Linux and Android projects,\u00a0better Clang IntelliSense engine,\u00a0Real-time Watch and a new MSBuild backend, it includes numerous usability\u00a0improvements that make\u00a0the development experience more\u00a0streamlined and\u00a0removes some annoying distractions. Let&#8217;s have a quick look through the main changes.<\/p>\n<p><!--more--><\/p>\n<h3>Asynchronous session start<\/h3>\n<p>One known bottleneck of VisualGDB 5.1 and earlier was the project deployment process. Uploading a large\u00a0Linux or Android app or programming a big embedded project into the FLASH memory could take more than a few seconds and\u00a0all\u00a0you could do during that time was to watch the progress window. We&#8217;ve changed this in\u00a0v5.2. Now\u00a0all the\u00a0preparation is done in the\u00a0background and will not distract you from reading\u00a0through the\u00a0code, setting breakpoints or exploring it with Code Map.<\/p>\n<p>The details on what&#8217;s going on are now shown in the GDB Session window, so you can still check if\u00a0everything is OK and cancel debugging\u00a0if it&#8217;s not:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/async.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9088\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/async.png\" alt=\"async\" width=\"939\" height=\"288\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/async.png 939w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/async-300x92.png 300w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/async-768x236.png 768w\" sizes=\"(max-width: 939px) 100vw, 939px\" \/><\/a><\/p>\n<p>This also works\u00a0if a GDB command causes a long delay during the session preparation: instead of an annoying popup, VisualGDB will show the details in the GDB Session window:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/async2.png\"><br \/>\n<\/a><\/p>\n<p><a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/async2-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9090\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/async2-1.png\" alt=\"async2\" width=\"941\" height=\"292\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/async2-1.png 941w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/async2-1-300x93.png 300w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/async2-1-768x238.png 768w\" sizes=\"(max-width: 941px) 100vw, 941px\" \/><\/a><\/p>\n<h3>Natvis optimizations<\/h3>\n<p>If you were using VisualGDB with natvis files before, you could have found some\u00a0difficulties\u00a0with\u00a0typedefs. A variable declared like this could work or not work with natvis based on your gdb version, compiler version and general luck:<\/p>\n<pre class=\"\">typedef std::map&lt;int, std::string&gt; MyMap;\r\nMyMap g_MyMap;<\/pre>\n<p>Starting from v5.2 this is no longer a problem. VisualGDB now automatically\u00a0resolves typedefs for all variables and uses a cache to minimize the performance impact of it. We have also added an option to\u00a0disable this behavior in case your gdb is\u00a0too slow.<\/p>\n<p>Another great\u00a0natvis improvement in v5.2 is the performance. Viewing the contents of huge\u00a0vectors\u00a0and lists won&#8217;t horribly slow you down anymore.\u00a0VisualGDB is now smart enough to only query the parts of them that are physically displayed on the screen.<\/p>\n<h3>Live Variables<\/h3>\n<p>If you are a fan of Live Variables, we&#8217;ve got good news for you in v5.2.\u00a0You can now add structures and arrays to Live Variables\u00a0and VisualGDB will\u00a0automatically expand them:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/livestruct1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-9091\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/livestruct1-1024x500.png\" alt=\"livestruct1\" width=\"474\" height=\"231\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/livestruct1-1024x500.png 1024w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/livestruct1-300x146.png 300w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/livestruct1-768x375.png 768w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/livestruct1.png 1186w\" sizes=\"(max-width: 474px) 100vw, 474px\" \/><\/a><\/p>\n<p>For optimal performance you can exclude individual\u00a0fields from being polled and VisualGDB will remember it next time\u00a0you start a debug session.<\/p>\n<p>We&#8217;ve also made it easier to\u00a0track\u00a0data from different sources on one graph &#8211; just enable\u00a0the &#8220;Scale each variable\u00a0independently&#8221;\u00a0mode and VisualGDB will\u00a0stretch\u00a0each graph\u00a0vertically so you could\u00a0make sense of it\u00a0even if one variable has a 1000x larger range than the others:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/livestruct2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-9092\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/livestruct2-1024x495.png\" alt=\"livestruct2\" width=\"474\" height=\"229\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/livestruct2-1024x495.png 1024w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/livestruct2-300x145.png 300w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/livestruct2-768x371.png 768w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/livestruct2.png 1187w\" sizes=\"(max-width: 474px) 100vw, 474px\" \/><\/a><\/p>\n<h3>Better Project Properties<\/h3>\n<p>With VisualGDB 5.2 you can tweak your project\u00a0without opening a modal &#8220;VisualGDB Project Properties&#8221; dialog. Instead simply open a .vgdbsettings file from Solution Explorer and VisualGDB will display it just like a normal document:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/properties.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-9093\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/properties-1024x717.png\" alt=\"properties\" width=\"474\" height=\"332\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/properties-1024x717.png 1024w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/properties-300x210.png 300w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/properties-768x538.png 768w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/properties.png 1224w\" sizes=\"(max-width: 474px) 100vw, 474px\" \/><\/a><\/p>\n<p>Hit &#8216;Ctrl-S&#8217; or click\u00a0&#8220;Save&#8221; on the toolbar to instantly apply your project changes.<\/p>\n<h3>Quick Debug Cross-Toolchains<\/h3>\n<p>The &#8220;Quick Debug&#8221; window now directly supports cross-toolchains, so you don&#8217;t need any\u00a0special workarounds to use them:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/quickdebug.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9094\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/quickdebug.png\" alt=\"quickdebug\" width=\"631\" height=\"625\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/quickdebug.png 631w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/quickdebug-150x150.png 150w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/quickdebug-300x297.png 300w\" sizes=\"(max-width: 631px) 100vw, 631px\" \/><\/a><\/p>\n<h3>Embedded CMake\u00a0Projects<\/h3>\n<p>VisualGDB 5.2 makes it extremely easy to import an existing embedded project built with CMake. Just select it in the wizard and VisualGDB will\u00a0automatically configure IntelliSense and debug settings for you:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/importcmake.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9095\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/importcmake.png\" alt=\"importcmake\" width=\"822\" height=\"642\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/importcmake.png 822w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/importcmake-300x234.png 300w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/importcmake-768x600.png 768w\" sizes=\"(max-width: 822px) 100vw, 822px\" \/><\/a><\/p>\n<h3>Reference Highlighting on the Dark Theme<\/h3>\n<p>We have also resolved an\u00a0annoying issue with\u00a0the\u00a0reference highlighting colors on the\u00a0dark theme. Starting from v5.2 Beta 2 they will no longer look pale:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/dark.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9096\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/dark.png\" alt=\"dark\" width=\"911\" height=\"375\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/dark.png 911w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/dark-300x123.png 300w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/dark-768x316.png 768w\" sizes=\"(max-width: 911px) 100vw, 911px\" \/><\/a><\/p>\n<h3>Easier Customization and Tweaking<\/h3>\n<p>The new version 5.2 makes\u00a0your life\u00a0easier if you are using a custom OS that reports things slightly differently. \u00a0VisualGDB now comes with a <strong>RegularExpressions.xml<\/strong>\u00a0file that\u00a0stores\u00a0the\u00a0regular expressions used by VisualGDB to parse tool versions, error messages, thread IDs and other system information. If your\u00a0custom OS reports it differently, making VisualGDB support it is now a matter of editing one text file:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/xml.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-9097\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/xml-1024x557.png\" alt=\"xml\" width=\"474\" height=\"258\" srcset=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/xml-1024x557.png 1024w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/xml-300x163.png 300w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/xml-768x418.png 768w, https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2016\/09\/xml.png 1282w\" sizes=\"(max-width: 474px) 100vw, 474px\" \/><\/a><\/p>\n<h3>More<\/h3>\n<p>VisualGDB 5.2 Beta 1 also includes\u00a0the\u00a0features introduced in the previous Preview builds.\u00a0You can find more posts about those features <a href=\"https:\/\/sysprogs.com\/w\/tag\/v52_features\/\">here<\/a>.<\/p>\n<h3>Download<\/h3>\n<p>You can\u00a0download\u00a0VisualGDB 5.2 Beta 1 from the <a href=\"http:\/\/visualgdb.com\/download\/\">download page<\/a>. All feedback is welcome through our <a href=\"http:\/\/sysprogs.com\/support\/\">feedback form<\/a> or\u00a0directly per email. Enjoy VisualGDB!<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today we\u00a0are proud to release VisualGDB 5.2 Beta 1. Aside from seamless unit test support for\u00a0Embedded, Linux and Android projects,\u00a0better Clang IntelliSense engine,\u00a0Real-time Watch and a new MSBuild backend, it includes numerous usability\u00a0improvements that make\u00a0the development experience more\u00a0streamlined and\u00a0removes some annoying distractions. Let&#8217;s have a quick look through the main changes.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","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":[216],"_links":{"self":[{"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/posts\/9087"}],"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=9087"}],"version-history":[{"count":3,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/posts\/9087\/revisions"}],"predecessor-version":[{"id":9100,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/posts\/9087\/revisions\/9100"}],"wp:attachment":[{"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/media?parent=9087"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/categories?post=9087"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/tags?post=9087"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}