VisualKernel

Linux Kernel made easy!

product logo

Debug Linux Kernel with Visual Studio

Enjoy the ease of Visual Studio when developing for Linux kernel:

  • Build and debug Linux kernel modules with Visual Studio
  • Customize Linux kernel and experiment with it
  • Use Network, COM port, JTAG or a Virtual Machine Debugger
  • Enjoy the full power of Visual Studio debugger
  • Never worry about module load addresses and symbols
  • See printk() messages in real time

Live Kernel Tracing

Regular debugging doesn't work? No problem!

VisualKernel features Live Tracing - a way of recording the values of arbitrary local and global variables when a certain line of code is executed.

Live Tracing works over a regular network connection and does not require JTAG/COM port/KGDBoE or a VM. You can use it to trace the execution of any code within the kernel itself, or kernel modules.

You can also use it during regular debugging sessions to record and analyze what your code is doing without having to stop the entire system.

Pre-built Ready-to-debug VM Images

Eliminate lengthy setup and troubleshooting by using pre-built VM images installed by VisualKernel.

Each image contains a ready-to-debug kernel with matching debug symbols and a pre-indexed IntelliSense index that allows instantly exploring the kernel using Code Explorer and Code Jumps.

The images are compatible with QEMU, VMWare or VirtualBox, so you can continue using your favorite VM software, or let VisualKernel set it up for you.

Raspberry Pi 1-4, i.MX6 and other devices

VisualKernel supports Raspberry Pi, Xilinx Zynq and the popular i.MX6 System-on-Chip out-of-the-box. Simply choose between JTAG debugging or Ethernet debugging, connect your board and start stepping through your code with full multi-core support.

If your embedded board is not directly supported, check our turnkey debugging service for pain-free debugging experience.

Precise IntelliSense with GNU extensions

VisualKernel features the Advanced Linux Kernel Project Subsystem that loads the project structure directly from KBuild, resulting in extremely accurate IntelliSense experience. The Advanced Kernel projects are optimized for the huge code base size, load faster than regular VC++ projects and allow quickly searching the entire kernel for definitions/references and using Code Map and Code Explorer. Being able to access the sources directly over SSH, it eliminates the troubles with reserved and case-sensitive file names.

Automatic symbol management

Forget the trouble of tracking module load addresses manually or disabling KASLR:

  • Just hit F5 and enjoy you breakpoints and symbols working
  • Automatically load symbols for selected in-tree modules
  • Easily load and unload your module while debugging
  • View detailed module information via Modules pane

VisualKernel fully supports KASLR-enabled kernels and will automatically adjust the symbols on-the-fly.

Linux Kernel source at a glance

VisualKernel automatically downloads and manages kernel source code:

  • Explore Linux internals while debugging your kernel modules
  • Open the relevant kernel source files via Call Stack or source list
  • Set breakpoints in Kernel source files
  • Create custom kernel projects to experiment your own changes
  • Use CodeJumps to easily navigate the Linux Kernel code base
  • Understand complex code structure with Code Explorer

The easiest setup ever

Don't worry about setting up kernel debugging:

  • Automatic installation of kernel headers and symbols*
  • Automatic installation of kernel source packages*
  • Automatic configuration of KGDB and VMWare stub
  • Automatic indexing of in-tree kernel modules

*Automatic package installation available on popular Linux distros