Core Dump Segmentation for Remote Debugging Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Remote debugging of computer programs is hindered by the large size of core dump files, which consumes significant bandwidth and time when transferred from a remote computer to a host computer for analysis.

Innovation Solution

The method involves generating a master core dump file with an index list that points to slave core dump files, allowing selective retrieval and assembly of only the necessary data for debugging, reducing the amount of data transferred and improving efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If the entire core dump file is transferred from the remote computer to the host computer for debugging, then the debugging information is complete, but the transfer time and bandwidth consumption are excessive

Engineering Contradiction:
Improvedebugging information completenessVSAvoidfile transfer time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent divides the core dump file into multiple segments: a compressed core dump file containing essential debugging information, and multiple original core dump file segments stored separately. The debugger first retrieves and decompresses the small compressed file to obtain critical debugging data, then selectively retrieves additional original segments only when needed during the debugging process. This segmentation eliminates the need to transfer the entire large core dump file upfront, significantly reducing initial transfer time while ensuring complete debugging information is available on demand.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary action by pre-compressing the core dump file into a compressed version that contains essential debugging information before the debugging session begins. This compressed file is stored and can be quickly transferred to the host computer. During debugging, if additional information is needed, the system can then retrieve specific original segments. This preliminary compression and organization of data allows the debugging process to start quickly with minimal data transfer, while maintaining the capability to access complete information when required.

Inventive Principle:
Principle #10Preliminary action

2Loss of information

If the entire core dump file is transferred from the remote computer to the host computer, then all debugging data is available, but the bandwidth consumption is excessive

Engineering Contradiction:
Improvedebugging data availabilityVSAvoidbandwidth consumption
Core Design Contradiction:
Loss of informationVSLoss of energy

Solution Approach 1:

The patent segments the core dump data into a compressed core dump file and multiple original core dump file segments. The debugger retrieves only the compressed file initially, consuming minimal bandwidth. During the debugging process, the system selectively retrieves only those original segments that contain the specific debugging information needed, rather than transferring the entire original core dump file. This selective retrieval based on segmentation dramatically reduces total bandwidth consumption while ensuring all necessary debugging data becomes available when needed.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If a debugger runs concurrently with the program being debugged on the same computer, then debugging can be performed locally, but it consumes system resources and may interfere with program execution

Engineering Contradiction:
Improvelocal debugging convenienceVSAvoidprogram execution efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent enables remote debugging by segmenting the core dump file handling process. The compressed core dump file is transferred to the host computer where the debugger runs independently, away from the program execution environment. This spatial separation allows the debugger to operate on the host computer without consuming resources of the remote computer where the program is executing. The segmentation of data (compressed file plus selective original segments) enables this remote operation to be efficient, maintaining local debugging convenience on the host while preserving program execution efficiency on the remote computer.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3103018B1Method for debugging computer program
Publication Date: 2019.07.03 HUAWEI TECH CO LTD
  • EP3103018B1 patent drawingFigure 1~2A
  • EP3103018B1 patent drawingFigure 2B~2C
  • EP3103018B1 patent drawingFigure 3

AI summary

A debugging method is proposed in the disclosure. A computer running a program generates a master core dump file and one or more slave core dump files in response to a triggering event such as an internal failure. The core dump files are analyzed by another computer for debugging the program. The master core dump file includes an index list, and each entry of the index list corresponds to a slave core dump file of the one or more slave core dump files. The master core dump file can be the first to be transferred to the other computer. Based on the information in the index list, the other computer selectively requests one or more slave core dump files from the generated slave core dump files for debugging.