Unified Kernel and User Mode Debugging on Multi-Core Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current debugging methods require separate platforms for kernel mode and user mode code, leading to inefficiencies and complexities in debugging processes.

Innovation Solution

A debugging method and device that utilize a multi-core processor to stop and resume cores synchronously, allowing kernel mode and user mode code to be debugged on a single platform through a unified debugging interface, enabling efficient collection of debugging information and setting breakpoints for both modes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If separate debugging platforms are used for kernel mode and user mode code, then each mode can be debugged with dedicated tools, but the overall debugging process becomes complex and inefficient

Engineering Contradiction:
Improvedebugging operation simplicityVSAvoiddebugging platform complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent merges kernel mode and user mode debugging into a single unified debugging platform. The debugging system integrates both debugging interfaces and enables simultaneous debugging of kernel and user mode code through coordinated core stopping and information collection mechanisms, eliminating the need for separate debugging platforms.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified debugging platform provides multi-functional capabilities to handle both kernel mode and user mode code debugging. The debugging interface can accommodate different code types by implementing universal stopping mechanisms and information collection functions that work across both modes through the multi-core processor architecture.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If multiple debugging platforms are maintained, then specialized debugging capabilities are preserved, but time and resources are wasted on switching between platforms

Engineering Contradiction:
Improvedebugging efficiencyVSAvoidtime for platform switching
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

By combining kernel and user mode debugging into one platform, the system eliminates the time and effort required to switch between separate debugging environments. The unified platform maintains specialized capabilities for both modes while providing a single entry point for all debugging operations.

Inventive Principle:
Principle #5Merging (Combining)

3Device complexity

If a unified debugging platform is implemented, then debugging complexity is reduced, but synchronization control between multiple cores becomes more difficult

Engineering Contradiction:
Improvedebugging platform complexityVSAvoidcore synchronization control
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The patent segments the multi-core processor into logical groups where each core can be independently controlled for debugging purposes. The stopping mechanism operates at the core level within these logical groups, allowing fine-grained synchronization control that simplifies the overall core coordination while maintaining unified platform operation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10503629B2Debugging method, multi-core processor, and debugging device
Publication Date: 2019.12.10 HUAWEI TECH CO LTD
  • US10503629B2 patent drawing
  • US10503629B2 patent drawing
  • US10503629B2 patent drawing

AI summary

Embodiments of the present invention relate to the field of computer technologies. The embodiments of the present invention provide a debugging method, including: stopping running, by a core A of a multi-core processor, and sending a running stop signal to other cores in a process of stopping running; after receiving a first stop termination instruction and resuming running, executing a debugging information collection function and stopping running after completing the execution of the debugging information collection function; after receiving a second stop termination instruction and resuming running, sending a running resumption instruction to the other cores; and knocking a pending breakpoint in a process of running an operation object of the preset event, so as to enter a debugging state. According to the technical solutions provided in the embodiments of the present invention, kernel mode code and user mode code can be debugged on a same debugging platform.