Debugging a computer program by interrupting program execution in response to access of unused I/O port
AssigneeAmerican Megatrends, Inc.
InventorsYu Liu, Jason James Rohr
Life of this patent
Estimating the term…
Abstract
A method, computer-readable medium, and apparatus for debugging a computer program utilizing breakpoints triggered by accessing a rarely used or unused I/O port is provided. Rarely used or unused I/O ports are identified in a computer system and a debugger program is instructed to halt program execution when an access is made to one or more of the identified ports. An instruction for writing to one of the ports is then inserted in the program to be debugged. When the instruction is executed, the debugger program will cause the execution of the program to stop. When the breakpoint is no longer needed, the debugger program is instructed not to halt when an access is made to the I/O port.
Claims20
A method for debugging a computer program, the method comprising:
- executing a debugging application at a host computer in communication with a computer system;
- identifying, via the debugging application, one or more unused input/output ports of the computer system;
- designating, via the debugging application, one or more of the unused input/output ports as a breakpoint port which, when accessed, will cause the debugging application to interrupt execution of the computer program;
- controlling, via the debugging application, execution of the computer program on a central processing unit of the computer system;
- determining, with the debugging application, whether the central processing unit of the computer system has encountered an instruction for accessing a one of the breakpoint ports;
- and
- in response to determining that the central processing unit of the computer system has encountered the instruction for accessing the one of the breakpoint ports, interrupting execution of the computer program on the central processing unit via the debugging application.
A method for debugging a computer program, the method comprising:
- executing a debugging application at a host computer that is communicatively linked with a computer system via an in-target probe (ITP);
- inserting into the computer program an instruction for accessing an unused or rarely used input/output port of the computer system;
- designating, via the debugging application, the input/output port as a breakpoint port which, when accessed, causes the debugging application to halt the execution of the computer program by a central processing unit of the computer system;
- executing the computer program at the central processing unit of the computer system under the control of the debugging application;
- determining, at the debugging application, whether the instruction for accessing the input/output port has been executed by the central processing unit of the computer system;
- and
- in response to determining that the instruction for accessing the input/output port has been executed, controlling the central processing unit of the computer system via the debugging application to halt the execution of the computer program.
A method for debugging a basic input/output system (BIOS) program executing on a central processing unit of a computer system using a debugging application executing on a host computer that communicates with the computer system via an in-target probe (ITP), the method comprising:
- executing the debugging application at the host computer;
- executing the debugging application to insert into the BIOS program an instruction for accessing a rarely used or unused input/output port in the computer system;
- designating, by way of a debugging application, the rarely used or unused input/output port as a breakpoint port which, when read from or written to by the central processing unit, will cause the debugging application to temporarily halt the execution of the BIOS program by the central processing unit;
- executing the BIOS program under the control of the debugging application;
- determining, by way of the debugging application, whether the instruction for accessing the rarely used or unused input/output port has been encountered by the central processing unit;
- in response to determining that the instruction has been encountered, controlling the central processing unit via the debugging application to halt the execution of the BIOS program;
- determining whether the debugging application has received a request to resume execution of the BIOS program at the computer system;
- and
- in response to determining that the request has been received, controlling the central processing unit via the debugging application to resume the execution of the BIOS program, the executing of the BIOS program being resumed by the central processing unit at an instruction immediately following the instruction for accessing the rarely used or unused input/output port in the computer system.
Dependencies are inferred from the claim text.