Method for debugging a computer program
First Claim
1. A method for a first computing device to debug a program running in a second computing device, comprising:
- obtaining, by the first computing device, a master core dump file generated by the second computing device, wherein the master core dump file comprises an index list, each entry of the index list corresponds to a slave core dump file of one or more slave core dump files generated or to be generated by the second computing device, and wherein each of the one or more slave core dump files includes at least one item of dumped data related to the program;
selecting, by the first computing device, a first slave core dump file from the one or more slave core dump files according to information in the index list;
obtaining, by the first computing device, the selected first slave core dump file;
assembling, by the first computing device, the master core dump file and the first slave core dump file into an assembled core dump file, wherein the assembled core dump file is analyzed by the first computing device for debugging the program running in the second computing device,determining, by the first computing device, whether the assembled core dump file contains sufficient information for debugging the program running in the second computing device;
when the assembled core dump file is determined to not contain sufficient information for debugging the program running in the second computing device, selecting, by the first computing device, a second slave core dump file from the one or more slave core dump files according to information in the index list and obtaining the selected second slave core dump file; and
updating, by the first computing device, the assembled core dump file to include information in the second slave core dump file,wherein the updated assembled core dump file is analyzed by the first computing device for debugging the program running in the second computing device.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
31 Citations
22 Claims
-
1. A method for a first computing device to debug a program running in a second computing device, comprising:
-
obtaining, by the first computing device, a master core dump file generated by the second computing device, wherein the master core dump file comprises an index list, each entry of the index list corresponds to a slave core dump file of one or more slave core dump files generated or to be generated by the second computing device, and wherein each of the one or more slave core dump files includes at least one item of dumped data related to the program; selecting, by the first computing device, a first slave core dump file from the one or more slave core dump files according to information in the index list; obtaining, by the first computing device, the selected first slave core dump file; assembling, by the first computing device, the master core dump file and the first slave core dump file into an assembled core dump file, wherein the assembled core dump file is analyzed by the first computing device for debugging the program running in the second computing device, determining, by the first computing device, whether the assembled core dump file contains sufficient information for debugging the program running in the second computing device; when the assembled core dump file is determined to not contain sufficient information for debugging the program running in the second computing device, selecting, by the first computing device, a second slave core dump file from the one or more slave core dump files according to information in the index list and obtaining the selected second slave core dump file; and updating, by the first computing device, the assembled core dump file to include information in the second slave core dump file, wherein the updated assembled core dump file is analyzed by the first computing device for debugging the program running in the second computing device. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for enabling a first computing device to debug a program running in a second computing device, comprising:
-
generating, by the second computing device, a master core dump file and one or more slave core dump files, wherein the master core dump file comprises an index list, each entry of the index list corresponds to a slave core dump file of the one or more slave core dump files, and wherein each of the one or more slave core dump files comprises at least one item of dumped data related to the program; enabling, by the second computing device, the first computing device to access the master core dump file; receiving, by the second computing device, a request from the first computing device for a first slave core dump file, wherein the first slave core dump file is selected from the one or more slave core dump files according to information in the index list; and enabling, by the second computing device, the first computing device to access the first slave core dump file, wherein the master core dump file and the first slave core dump file are assembled by the first computing device into an assembled core dump file, and the assembled core dump file is analyzed by the first computing device for debugging the program running in the second computing device, receiving, by the second computing device, a second request from the first computing device for a second slave core dump file when the assembled core dump file is determined by the first computing device to not contain sufficient information for debugging the program running in the second computing device; and enabling, by the second computing device, the first computing device to access the second slave core dump file, wherein, the assembled core dump file and information in the second slave core dump file are assembled by the first computing device into an updated assembled core dump file, and the updated assembled core dump file is analyzed by the first computing device for debugging the program running in the second computing device. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A first computing device for debugging a program running in a second computing device, the first computing device comprising:
-
a storage device storing computer executable program codes; a communication interface; and a processor, coupled with the storage device and the communication interface; wherein the program codes comprise instructions which, when executed by the processor, cause the processor to; obtain a master core dump file generated by the second computing device through the communication interface, wherein the master core dump file comprises an index list, each entry of the index list corresponds to a slave core dump file of one or more slave core dump files generated or to be generated by the second computing device, and wherein each of the one or more slave core dump files includes at least one item of dumped data related to the program; select a first slave core dump file from the one or more slave core dump files according to information in the index list; obtain the selected first slave core dump file through the communication interface; assemble the master core dump file and the first slave core dump file into an assembled core dump file, wherein the assembled core dump file is analyzed by the first computing device for debugging the program running in the second computing device, determine whether the assembled core dump file contains sufficient information for debugging the program running in the second computing device; when the assembled core dump file is determined to not contain sufficient information for debugging the program running in the second computing device, select a second slave core dump file from the one or more slave core dump files according to information in the index list and obtain the selected second slave core dump file; and update the assembled core dump file to include information in the second slave core dump file, wherein the updated assembled core dump file is analyzed by the first computing device for debugging the program running in the second computing device. - View Dependent Claims (14)
-
-
15. A second computing device for running a program to be debugged by a first computing device, the second computing device comprising:
-
a storage device storing computer executable program codes; a communication interface; and a processor, coupled with the storage device and the communication interface; wherein the program codes comprise instructions which, when executed by the processor, cause the processor to; generate a master core dump file and one or more slave core dump files, wherein the master core dump file comprises an index list, each entry of the index list corresponds to a slave core dump file of the one or more slave core dump files, and wherein each of the one or more slave core dump files comprises at least one item of dumped data related to the program, enable the first computing device to access the master core dump file through the communication interface, receive a request from the first computing device for a first slave core dump file, wherein the first slave core dump file is selected from the one or more slave core dump files according to information in the index list, and enable the first computing device to access the first slave core dump file through the communication interface, wherein the master core dump file and the first slave core dump file are assembled by the first computing device into an assembled core dump file, and the assembled core dump file is analyzed by the first computing device for debugging the program running in the second computing device, receive a second request from the first computing device for a second slave core dump file when the assembled core dump file is determined by the first computing device to not contain sufficient information for debugging the program running in the second computing device; and enable the first computing device to access the second slave core dump file through the communication interface, wherein, the assembled core dump file and information in the second slave core dump file are assembled by the first computing device into an updated assembled core dump file, and the updated assembled core dump file is analyzed by the first computing device for debugging the program running in the second computing device. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A non-transitory computer readable medium storing program codes for execution by a first computing device to debug a program running in a second computing device, the program codes comprise:
-
instructions for obtaining a master core dump file generated by the second computing device, wherein the master core dump file comprises an index list, each entry of the index list corresponds to a slave core dump file of one or more slave core dump files generated or to be generated by the second computing device, and wherein each of the one or more slave core dump files includes at least one item of dumped data related to the program; instructions for selecting a first slave core dump file from the one or more slave core dump files according to information in the index list; instructions for obtaining the selected first slave core dump file; instructions for assembling the master core dump file and the first slave core dump file into an assembled core dump file, wherein the assembled core dump file is analyzed by the first computing device for debugging the program running in the second computing device, instructions for determining, by the first computing device, whether the assembled core dump file contains sufficient information for debugging the program running in the second computing device, and when the assembled core dump file is determined to not contain sufficient information for debugging the program running in the second computing device, selecting, by the first computing device, a second slave core dump file from the one or more slave core dump files according to information in the index list and obtaining the selected second slave core dump file; and instructions for updating, by the first computing device, the assembled core dump file to include information in the second slave core dump file, wherein the updated assembled core dump file is analyzed by the first computing device for debugging the program running in the second computing device.
-
-
22. A non-transitory computer readable medium storing program codes for execution by a second computing device running a program to be debugged by a first computing device, the program codes comprise:
-
instructions for generating a master core dump file and one or more slave core dump files, wherein the master core dump file comprises an index list, each entry of the index list corresponds to a slave core dump file of the one or more slave core dump files, and wherein each of the one or more slave core dump files comprises at least one item of dumped data related to the program; instructions for enabling the first computing device to access the master core dump file; instructions for receiving a request from the first computing device for a first slave core dump file, wherein the first slave core dump file is selected from the one or more slave core dump files according to information in the index list; instructions for enabling the first computing device to access the first slave core dump file, wherein the master core dump file and the first slave core dump file are assembled by the first computing device into an assembled core dump file, and the assembled core dump file is analyzed by the first computing device for debugging the program running in the second computing device, instructions for receiving a second request from the first computing device for a second slave core dump file when the assembled core dump file is determined by the first computing device to not contain sufficient information for debugging the program running in the second computing device; and instructions for enabling the first computing device to access the second slave core dump file, wherein, the assembled core dump file and information in the second slave core dump file are assembled by the first computing device into an updated assembled core dump file, and the updated assembled core dump file is analyzed by the first computing device for debugging the program running in the second computing device.
-
Specification