Difference between revisions of "Debugging"

From ReactOS Wiki
Jump to: navigation, search
Line 1: Line 1:
 +
This page describes different methods of debugging ReactOS and the steps necessary to debug ReactOS.
 +
 +
= Introduction =
 +
To be able to help ReactOS development, whether this be participating in the development of the source code or taking part in crucial testing, you are going to need knowledge of how to generate useful debug logs.
 +
 +
Useful debug logs are essential pieces of information which the developer needs to quickly pinpoint and identify exactly what the operating system is doing.Many people know how to get default debug output from the operating system, but this is generally not particularly useful for locating problems, esspecially bugs.
 +
 +
This article aims to give users knowledge not only on how to generate a debug log, but on how to generate a useful debug log which can be used directly by developers.
 +
 +
 +
= Available debugging methods  =
 +
There are various methods to debug ReactOS, some require more knowledge than others. These are listed below.
 +
 +
* COM1 (output to serial port)
 +
** Physical serial cable
 +
** Virtual machines
 +
*** Named pipe
 +
*** Riderect to file
 +
** Debug Output to file
 +
** Debug Output to screen
 +
* gdb
 +
* kdbg
 +
 +
= Knowing what debug output to generate =
 +
 +
== Turning on debugging in key modules ==
 +
 +
=== Turning on at compile time ===
 +
 +
=== Turning on at runtime ===
 +
 +
== Forcing a bugcheck ==
 +
 +
== Generating a backtrace ==
 +
 +
 +
 +
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
 +
 +
 +
 
==Debugging preparation==
 
==Debugging preparation==
  

Revision as of 13:08, 17 January 2008

This page describes different methods of debugging ReactOS and the steps necessary to debug ReactOS.

Introduction

To be able to help ReactOS development, whether this be participating in the development of the source code or taking part in crucial testing, you are going to need knowledge of how to generate useful debug logs.

Useful debug logs are essential pieces of information which the developer needs to quickly pinpoint and identify exactly what the operating system is doing.Many people know how to get default debug output from the operating system, but this is generally not particularly useful for locating problems, esspecially bugs.

This article aims to give users knowledge not only on how to generate a debug log, but on how to generate a useful debug log which can be used directly by developers.


Available debugging methods

There are various methods to debug ReactOS, some require more knowledge than others. These are listed below.

  • COM1 (output to serial port)
    • Physical serial cable
    • Virtual machines
      • Named pipe
      • Riderect to file
    • Debug Output to file
    • Debug Output to screen
  • gdb
  • kdbg

Knowing what debug output to generate

Turning on debugging in key modules

Turning on at compile time

Turning on at runtime

Forcing a bugcheck

Generating a backtrace

















Debugging preparation

One of the first things you need to decide is how to get the debugging output:

Options for debugging reactos: