IP Library › Granted Patent US 10,929,216
Granted Patent B2
US 10,929,216 · App. 16/260,526 · Granted Feb 23, 2021

Application crash analysis techniques when memory dump and debug symbols are not co-located

Inventor: Brian Koropoff (Bellevue, WA)
Assignee: EMC IP Holding Company LLC
G06F11/0778G06F8/41G06F8/61G06F11/0715G06F11/0784G06F11/366G06F40/169H04L67/34
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,929,216
App. No.
16/260,526
Granted
Feb 23, 2021
Kind
B2
Abstract

Distributed architectures that can generate a crash report without concurrent access to debug symbols and a memory dump. Besides grabbing generic information from a memory dump, which most debuggers provide (e.g., call stack traces for all threads), developer-provided scripts can grab application-specific details such as tables of open protocol client connections and so-forth. This extraction can take place at a customer site where a crash occurred and can proceed without the use of debug symbols. The extraction can generate a crash report which can be sent back from the field. Once in the hands of engineering (e.g., at a provider site where debug symbols are extant but the memory dump is not), debug symbols can then be used in an annotation phase to fill in missing details (e.g. the precise source files and line numbers corresponding to call stack traces) without access to the original crash dump.

Claims (26)

1. A system, comprising:

a memory that stores computer executable components; and

a processor that executes computer executable components stored in the memory, wherein the computer executable components comprise:

receiving debug symbols that are generated in response to source code of an application being compiled;

receiving typespec data that identifies a data structure referenced by the debug symbols, wherein the typespec data identifies information referenced by the debug symbols that is determined to be useful to diagnose a crash of the application; and

in response to applying the typespec data to the debug symbols, generating typeinfo data that is representative of configurable subset of the debug symbols.

2. The system of claim 1 , wherein the typespec data further identifies a subset of fields, within the data structure, that are determined to be useful to diagnose the crash.

3. The system of claim 1 , wherein the typespec data is determined to be useful to diagnose the crash of the application based on input received by the system from a developer of the application.

4. The system of claim 1 , wherein the typeinfo data excludes elements of the debug symbols that are not identified by the typespec data.

5. The system of claim 1 , wherein the typeinfo data has a first data size that is at least an order of magnitude less than a second data size of the debug symbols.

6. The system of claim 1 , wherein the operations further comprise generating an installation package configured to install to a customer device situated at a customer site the application, the typeinfo data, and a script comprising instructions for extracting, from a memory dump, relevant information identified by the typeinfo data.

7. The system of claim 6 , wherein the installation package excludes the debug symbols.

8. The system of claim 6 , wherein the operations further comprise transmitting the installation package to the customer device.

9. A system, comprising:

a first memory that stores computer executable components; and

a processor, situated at a customer site, that executes computer executable components stored in the first memory, wherein the computer executable components comprise:

determining that a crash event has occurred in connection with an application being executed by a customer device at the customer site, resulting in memory dump data being generated that is representative of a state of second memory of the customer device at a time of the crash event;

retrieving typeinfo data representative of a configurable subset of debug symbols that were generated in response to compiling source code for the application; and

in response to applying the typeinfo data to the memory dump data, generating crash report data representative of a portion of the memory dump data.

10. The system of claim 9 , wherein the typeinfo data and a developer-provided script are stored to the customer device during an installation procedure that installs the application to the customer device, wherein the customer device does not store the debug symbols, and wherein the developer-provided script comprises instructions for extraction, from the memory dump, of relevant information identified by the typeinfo data.

11. The system of claim 9 , wherein the debug symbols are not extant at the customer site.

12. The system of claim 9 , wherein the crash report data comprises a name of a function being executed at the time of the crash event and a machine code offset.

13. The system of claim 12 , wherein the crash report data, in response to the debug symbols not being extant at the customer site, excludes source file location information that specifies a line of the source code being executed at the time of the crash event.

14. The system of claim 9 , wherein the crash report data has a first data size that is at least an order of magnitude smaller than a second data size of the memory dump data.

15. The system of claim 9 , wherein the crash report data is formatted according to a JavaScript object notation (JSON) format or another data-interchange format.

16. The system of claim 9 , wherein the operations further comprise transmitting the crash report data to a crash analysis device that stores the debug symbols.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2019
From: KOROPOFF, BRIAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 048165/0610 →
Continuity (1)
Related Publication 20200241951A1 · Jul 30, 2020