Host Debugger Cross-Platform Debugging via VM Agent
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional debuggers native to one operating system are unable to perform non-native system-level debugging on operating systems with different kernel types, limiting the ability to obtain correct symbolic information and perform debugging operations on guest operating systems.
Innovation Solution
A debugger native to a host operating system is enabled to perform non-native system-level debugging on a guest operating system by using an agent within a virtual machine to provide raw data and scripts that interpret this data to obtain symbolic information from a symbol server, converting it into usable names for debugging operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a debugger native to a host operating system is used, then debugging operations can be performed efficiently with native symbolic information, but the debugger cannot perform system-level debugging on guest operating systems with different kernel types
Solution Approach 1:
A translation layer is introduced between the host debugger and guest operating system to convert guest symbolic information into host debugger-compatible format. This intermediary component enables cross-platform debugging by mediating the incompatibility between different operating system symbol formats, allowing the host debugger to access and interpret guest system symbols without requiring a native guest debugger.
2Measurement precision
If a native debugger for the guest operating system is used, then correct symbolic information can be obtained, but the debugger cannot be accessed from the host operating system
Solution Approach 1:
The patent creates a virtual copy of the guest operating system environment within the host system through virtualization. This allows the host debugger to access and debug the guest OS while maintaining the integrity and symbolic information accuracy of the original guest system. The virtual copy enables cross-system debugging without requiring physical access to the guest hardware.
3Adaptability or versatility
If cross-platform debugging is enabled, then debugger versatility improves, but the complexity of obtaining and interpreting symbolic information increases
Solution Approach 1:
Symbolic information from the guest operating system is pre-processed and translated into host debugger-compatible format before debugging sessions begin. This preliminary translation action reduces the complexity during actual debugging operations, as the host debugger receives pre-formatted symbolic information that requires minimal additional processing or interpretation.
Data Source
AI summary
A method may include establishing a connection between a debugger native to a host operating system and an agent of a virtual machine executing a guest operating system. The host operating system and the guest operating system are of different kernel types. The method may also include receiving, from the agent, information pertaining to the guest operating system. The method may also include performing, using the debugger on the host operating system, non-native system debugging of the guest operating system based on the information pertaining to the guest operating system.


