← Back to Patent Explorer
US5889988A Expired / Lapsed US ⏱️ 0.0 years remaining

Debugger for debugging tasks in an operating system virtual device driver

Assignee: Intel Corp
•
Filing: 1996-11-08
•
Granted: 1999-03-30
•
Expires: 2016-11-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A debugger that is multi-task aware and capable of providing symbolic support to a graphical user interface (GUI) is disclosed. The debugger disclosed communicates with a multi-tasking kernel nested within a driver of the operating system within the 0 privilege level. The multi-tasking kernel distinguishes among the rest of its environment where a graphical user interface executes the driver tasks being debugged. The multi-tasking kernel, in cooperation with the debugger runs each element on a different thread of the same machine, thereby allowing the debugger and the driver tasks being debugged to continue to run without stopping operation of either the graphical user interface or the operating system associated with the graphical user interface.

Inventors

  • 👤 James P. Held

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 03:53
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4843; G06F11/00; G06F11/36; G06F11/3698

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 101 words
A computer system comprising: a memory element; a processor coupled to said memory element; an operating system running on said processor, said operating system including a virtual device driver running a multi-tasking real-time environment embedded within said operating system; a debugger with a graphical user interface interacting with said multi-tasking real-time environment to allow use of said graphical user interface to debug test task, the debugger being at a first privilege level; and a debug task to manipulate states of said test task, said debug task and said test task running in the multi-tasking real-time environment at a second privilege level.
Claim 2
Dependent Claim 101 words
A computer system comprising: a memory element; a processor coupled to said memory element; an operating system running on said processor, said operating system including a virtual device driver running a multi-tasking real-time environment embedded within said operating system; a debugger with a graphical user interface interacting with said multi-tasking real-time environment to allow use of said graphical user interface to debug test task, the debugger being at a first privilege level; and a debug task to manipulate states of said test task, said debug task and said test task running in the multi-tasking real-time environment at a second privilege level.
Claim 3
Dependent Claim 44 words
The computer system of claim 1 wherein said communication between said debugger and said multi-tasking real-time environment includes commands and data, said communication accomplished using a task mailbox which contains commands from said debugger graphical user interface and said data from said debug task.
Claim 4
Dependent Claim 15 words
The computer system of claim 1 wherein said multi-tasking real-time environment includes a multi-tasking kernel.
Claim 5
Dependent Claim 17 words
The computer system of claim 1 wherein said virtual device driver operates within a 0 privilege level.
Claim 6
Dependent Claim 24 words
The computer system of claim 1 wherein said debug task suspends said test task when an exception associated with said test task is detected.
Claim 7
Dependent Claim 30 words
The computer system of claim 5 wherein said multi-tasking real-time environment further includes an exception handler, and wherein said exception handler is for communicating said exception to said debug task.
Claim 8
Dependent Claim 15 words
The computer system of claim 1 wherein said operating system is a Windows operating system.
Claim 9
Independent Claim 166 words
A method of debugging a test task in a computer system, said computer system executing instructions of an operating system including an outer operating system and a virtual device driver running a multi-tasking real-time environment embedded within said outer operating system, said method comprising the steps of: initializing said virtual device driver in said operating system; operating a debugger application with a graphical user interface in said outer operating system at a first privilege level, said debugger interacting with said multi-tasking real time environment; executing a debug task in said multi-tasking real time environment of said device driver, said debug task intercepting the execution of said test task operating in said multi-tasking real time environment at a second privilege level; communicating information regarding the execution of said test task to said debugger application via said virtual device driver; and utilizing said information to monitor and manipulate states of said test task using said graphical user interface of said debugger application running in said outer operating system.
Claim 10
Independent Claim 166 words
A method of debugging a test task in a computer system, said computer system executing instructions of an operating system including an outer operating system and a virtual device driver running a multi-tasking real-time environment embedded within said outer operating system, said method comprising the steps of: initializing said virtual device driver in said operating system; operating a debugger application with a graphical user interface in said outer operating system at a first privilege level, said debugger interacting with said multi-tasking real time environment; executing a debug task in said multi-tasking real time environment of said device driver, said debug task intercepting the execution of said test task operating in said multi-tasking real time environment at a second privilege level; communicating information regarding the execution of said test task to said debugger application via said virtual device driver; and utilizing said information to monitor and manipulate states of said test task using said graphical user interface of said debugger application running in said outer operating system.
Claim 11
Dependent Claim 56 words
The method of claim 8 further comprising the steps of: notifying a mailbox associated with said debug task, that said test task is executing; said debug task storing relevant information in said mailbox; said debugger application polling said mailbox, via said virtual device driver; and said debugger application accessing said information in response to said polling.
Claim 12
Dependent Claim 37 words
The method of claim 8 wherein said step of operating said debugger application includes the step of executing a DSP debug module which provides said debugger application with an application program interface to said virtual device driver.
Claim 13
Dependent Claim 17 words
The method of claim 8 wherein said debug task includes exception handlers to monitor said test task.
Claim 14
Independent Claim 133 words
A method of detecting a trap in an operating system using a graphical user interface, said method comprising the steps of: executing an instruction in a test task executing in an embedded multi-tasking real time environment at a first privilege level, said instruction in said test task causing said trap; identifying said trap and communicating a message to a debug task executing on said computer system, said debug task manipulating states of said test task; halting the execution of said test task; preparing information about said test task when said instruction was executed; communicating said information from a virtual device driver to a debugger interacting with said multi-tasking real time environment, said debugger operating in said computer system at a second privilege level; and displaying debugger operation in a graphical user interface output.
Claim 15
Independent Claim 133 words
A method of detecting a trap in an operating system using a graphical user interface, said method comprising the steps of: executing an instruction in a test task executing in an embedded multi-tasking real time environment at a first privilege level, said instruction in said test task causing said trap; identifying said trap and communicating a message to a debug task executing on said computer system, said debug task manipulating states of said test task; halting the execution of said test task; preparing information about said test task when said instruction was executed; communicating said information from a virtual device driver to a debugger interacting with said multi-tasking real time environment, said debugger operating in said computer system at a second privilege level; and displaying debugger operation in a graphical user interface output.
Claim 16
Dependent Claim 53 words
The method of claim 12 wherein said instruction in said test task corresponds to a breakpoint, said method further comprising the steps of: detecting a command to insert said breakpoint; causing an insert breakpoint message to be transmitted to said debug task; and replacing said instruction in said test task with said breakpoint.
Claim 17
Dependent Claim 24 words
The method of claim 13 further comprising the steps of: communicating that said instruction has been replaced; and polling a mailbox for said information.
Claim 18
Dependent Claim 34 words
The method of claim 13 wherein said replacing of said instructions comprises the steps of: communicating an insert breakpoint command to a task switch handler, said task switch handler running in said computer system.
Claim 19
Dependent Claim 12 words
The method of claim 12 wherein said trap is a hardware trap.
Claim 20
Dependent Claim 32 words
The method of claim 8 wherein said multi-tasking real time environment includes a multi-tasking kernel and wherein said debug task and said test task are each being managed by said multi-tasking kernel.
Claim 21
Dependent Claim 29 words
The method of claim 8 wherein said virtual device driver operates within a 0 privilege level, and said debug task is a higher priority task than said test task.
Claim 22
Dependent Claim 20 words
The computer system of claim 1 wherein said debug task is at a higher priority task than said test task.

References Cited (Backward Citations)

US3602703A Cited
US5283900A Cited
US5321828A Cited
US5414848A Cited
US5721922A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-03-29 2002-09-28 2003-03-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-03-29 2006-09-28 2007-03-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-03-29 2010-09-28 2011-03-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag