{"id":32905,"date":"2022-07-31T00:03:18","date_gmt":"2022-07-31T07:03:18","guid":{"rendered":"https:\/\/sysprogs.com\/w\/?p=32905"},"modified":"2022-08-02T09:50:09","modified_gmt":"2022-08-02T16:50:09","slug":"announcing-visualkernel-4-0","status":"publish","type":"post","link":"https:\/\/sysprogs.com\/w\/announcing-visualkernel-4-0\/","title":{"rendered":"Announcing VisualKernel 4.0"},"content":{"rendered":"<p>Today we are excited to announce the release of VisualKernel 4.0 Beta 1 &#8211; the most intuitive way to develop kernel-mode code for Linux. The new beta is packed with usability features, supports the latest versions of popular Linux distributions and comes with pre-built VM images that let you delve into the Linux kernel code without the need for lengthy setup.<\/p>\n<p><!--more--><\/p>\n<h2>Better Virtual Machine Integration<\/h2>\n<p>The easiest way to start experimenting with the Linux kernel is to install it into a virtual machine. As the debug logic is provided by the VM itself and is separated from the kernel, it works faster and more reliable than debugging via a serial port or Ethernet. VisualKernel 3.x included out-of-the-box support for debugging VMWare machines, however they did not work very well on hosts running the Hyper-V platform (required by WSL2) and some Windows 11 machines.<\/p>\n<p>VisualKernel 4.0 addresses it with out-of-the-box support for 3 virtualization engines:<\/p>\n<ul>\n<li>VMWare for hosts without Hyper-V<\/li>\n<li>Development snapshots of VirtualBox that include a fully functional GDB stub<\/li>\n<li>A Windows build of QEMU that uses the Hyper-V engine, does not require installation, and fully supports debugging<\/li>\n<\/ul>\n<p>This set of virtualization engines covers virtually every possible host setup, so you can always get a debuggable setup without the need for any additional hardware. You can find more details on the supported VM engines <a href=\"https:\/\/sysprogs.com\/VisualKernel\/documentation\/vms\">here<\/a>.<\/p>\n<h2>Pre-built Kernel Virtual Machines<\/h2>\n<p>Since VisualKernel can now easily debug most virtual machines, we took it one step further and created a repository of debuggable Linux VM images. You can now choose between a few popular Linux distributions and get a usable virtual machine with a fully debuggable Linux kernel in just a few clicks: <a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2022\/07\/vms.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-32906\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2022\/07\/vms.png\" alt=\"\" width=\"786\" height=\"593\" \/><\/a>The kernels come pre-indexed with our IntelliSense engine, so you can instantly find callers of different functions,\u00a0 references to all types, and other information similar to what VisualGDB <a href=\"https:\/\/visualgdb.com\/documentation\/codeexplorer\/\">does<\/a> for user-mode projects:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2022\/07\/codeexp.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-32907\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2022\/07\/codeexp.png\" alt=\"\" width=\"1278\" height=\"812\" \/><\/a><\/p>\n<h2>Live Watch<\/h2>\n<p>Since a lot of kernel-mode development involve complex real-time systems that do not like being disturbed, VisualKernel 4.0 now includes <a href=\"https:\/\/visualgdb.com\/documentation\/livevars\/\">Live Watch<\/a> &#8211; a mechanism for observing the variables without stopping the debugger.<\/p>\n<p>We have thoroughly optimized our Live Watch engine to handle the vast amount of Linux kernel symbols, and it does its job remarkably well: you can easily search throughout the global variables in the entire kernel, or your modules, plot their values, or have VisualKernel instantly display their values directly in the code:<a href=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2022\/07\/live.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-32909\" src=\"https:\/\/sysprogs.com\/w\/wp-content\/uploads\/2022\/07\/live.png\" alt=\"\" width=\"1278\" height=\"812\" \/><\/a><\/p>\n<h2>Better Raspberry Pi Support<\/h2>\n<p>VisualKernel 4.0 supports JTAG-based debugging of Raspberry Pi 1, 2, 3 and 4 (including the 64-bit kernel builds). To make it easier, our repository now includes debuggable kernel packages for Raspberry Pi (including all the necessary scripts), so you won&#8217;t need an extra build machine and can start working on your ideas with just a few clicks.<\/p>\n<h2>Latest Linux Compatibility<\/h2>\n<p>VisualKernel 4.0 supports Ubuntu 22, Fedora 36, Debian 11, Mint 203 and CentOS Stream 8 and is compatible with the latest Visual Studio 2022. Just point it to a compatible target and VisualKernel will take care of getting the symbols, configuring the build environment and everything else.<\/p>\n<h2>Try it Out<\/h2>\n<p>You can download the latest VisualKernel <a href=\"https:\/\/sysprogs.com\/VisualKernel\/download\/\">here<\/a>. If you have any feedback, don\u2019t hesitate to reach us out via our\u00a0<a href=\"https:\/\/sysprogs.com\/support\/\">support form<\/a>\u00a0or the\u00a0<a href=\"https:\/\/sysprogs.com\/w\/forums\/forum\/visualkernel\">VisualKernel forum<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today we are excited to announce the release of VisualKernel 4.0 Beta 1 &#8211; the most intuitive way to develop kernel-mode code for Linux. The new beta is packed with usability features, supports the latest versions of popular Linux distributions and comes with pre-built VM images that let you delve into the Linux kernel code &hellip; <a href=\"https:\/\/sysprogs.com\/w\/announcing-visualkernel-4-0\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Announcing VisualKernel 4.0<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/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":[1149],"_links":{"self":[{"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/posts\/32905"}],"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=32905"}],"version-history":[{"count":5,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/posts\/32905\/revisions"}],"predecessor-version":[{"id":32938,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/posts\/32905\/revisions\/32938"}],"wp:attachment":[{"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/media?parent=32905"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/categories?post=32905"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sysprogs.com\/w\/wp-json\/wp\/v2\/tags?post=32905"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}