Method and system for software debugging using a simulator
First Claim
Patent Images
1. A method of debugging software, comprising:
- executing a first software program on a first processor;
generating a first context during the execution of the first software program on the first processor wherein the first context comprises internal state of the first processor, first program and corresponding data, memory and registers;
stopping the first processor and storing the first context;
starting a first simulator process and providing the first context to the first simulator process, wherein the first simulator process executes on a second processor distinct from the first processor and the first simulator process is configured to simulate the first processor;
executing the first software program on the simulated first processor using the first context; and
debugging the first software program during the execution of the first software program on the simulated first processor.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for debugging software and/or hardware are disclosed. A processor may execute a program for a certain amount of time. The context of the processor at the end of that time may then be made available to a simulator operable to simulate the processor. The program can then be executed from that point on the simulator using the context. Additionally, a context resulting from the execution of the program on the simulator may result and be restored to the processor for continued execution.
-
Citations
23 Claims
-
1. A method of debugging software, comprising:
-
executing a first software program on a first processor; generating a first context during the execution of the first software program on the first processor wherein the first context comprises internal state of the first processor, first program and corresponding data, memory and registers; stopping the first processor and storing the first context; starting a first simulator process and providing the first context to the first simulator process, wherein the first simulator process executes on a second processor distinct from the first processor and the first simulator process is configured to simulate the first processor; executing the first software program on the simulated first processor using the first context; and debugging the first software program during the execution of the first software program on the simulated first processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for debugging software, said system comprising:
-
a first processor configured to execute a first software program; generate a first context during the execution of the first software program wherein the first context comprises internal state of the first processor, first program and corresponding data, memory and registers; and stop the execution of the first software program, store the first context and provide the first context to a first simulator process; and a second processor distinct from the first processor configured to; start a first simulator process and receive the first context, wherein the first simulator process is configured to simulate the first processor; execute the first software program on the simulated first processor using the first context; and debug the first software program during the execution of the first software program on the simulated first processor. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A method for debugging software comprising:
-
executing a first software program on a first processor; generating a first context during the execution of the first software program on the first processor wherein the first context comprises internal state of the first processor, first program and corresponding data, memory and registers; stopping the first processor and storing the first context; starting a first simulator process and providing the first context to the first simulator process, wherein the first simulator process executes on a second processor distinct from the first processor and the first simulator process is configured to simulate the first processor; executing the first software program on the simulated first processor using the first context; debugging the first software program during the execution of the first software program on the simulated first processor; generating a second context in the first simulator process wherein the second context is the context of the processor being simulated and comprises internal state of the first processor, first program and corresponding data, memory and registers; stopping the first simulator process on the second processor and storing the second context; providing the second context to the first processor; and executing the first software program on the first processor using the second context.
-
Specification