Application of VMware VProbes to debugging of a segmentation based separation kernel
Irvine, Cynthia E.
Shifflett, David J.
MetadataShow full item record
Debugging is a useful technique in all aspects of software development, including that of operating systems. Because they provide low level interfaces to the hardware, operating systems are particularly difficult to debug. There is little room to add abstraction between the computer hardware and the executing operating system software. Many debuggers are intimately tied to the system’s memory model, compiler, and loader. For specialized operating systems, a good debugger may require a focused development process. However, virtualization allows new tools to be introduced to support operating system debugging. This research explores the potential to use VMware VProbes to debug a Least Privilege Separation Kernel (LPSK) that is hosted as a guest operating system by the VMware virtual machine monitor. Several general tools were developed to help developers use VMware VProbes. In particular, a simple way to use the symbol table that makes references to memory easier to manage. As a result, the state of the target operating system can be inspected upon access to one or more memory addresses. The tools and techniques were tested on the LPSK; however, they may be applied to a wide range of operating systems hosted by VMware.
RightsThis publication is a work of the U.S. Government as defined in Title 17, United States Code, Section 101. Copyright protection is not available for this work in the United States.
Copyright is reserved by the copyright owner.
Showing items related by title, author, creator and subject.
Murphy, Toriano A. (Monterey, California. Naval Postgraduate School, 2008);Software debugging is a time consuming and important step in the development and evolution of software systems. Debugging is a practice that normally gets the least praise but normally requires the most attention and effort. ...
Abler, Ronald J. (Monterey, California. Naval Postgraduate School, 1983);A microcomputer laboratory was designed and implemented to support Airborne Digital Computation, AE 4641, a course involving a study of the methods used for digital computation in airborne weapons systems. Programming ...
de Albuquerque, Julio Cesar Lopes (1987-06);One of the most time consuming parts of the design process is the debugging of the project. This happens when simple modifications to a circuit require recompilation of the whole circuit. In the CAD tool currently ...