# Debugging ReactOS

The topics covered in this session are:

1. # The Environment Setup

2. # Some Info on Serial Ports

3. # Using Virtual Serial Port

4. # Serial Port

5. # Virtual machines

6. # Com0com Virtual Serial Port

7. # Install and Setting up Virtual Ports Using com0com

8. # com0com and VirtualBox Configuration for Serial Debugging

9. # Download and Running PUTTY (the thin client)

10. # Running ReactOS in Debug Mode

11. # Resetting the Terminal

12. # Saving the Debug Messages

13. # Using Windows HyperTerminal

# The Environment Setup

The environment setup for this session consists of the following items:

1. Putty - thin client
2. Com0Com - virtual serial ports (the host OS installed on notebook that doesn’t have physical serial port) which will be used to capture the ReactOS debug output.
3. Host OS - Windows XP Pro SP3
4. Guest OS - ReactOS 0.3.11
5. Windows HyperTerminal (optional) – another way to capture ReactOS debug output.

# Some Info on Serial Ports

In Windows like operating systems serial ports are named like COM1, COM2 and so on while in Linux they are named something like /dev/ttyS0, /dev/ttyS1 and so on. As a rule of thumb what will call COM1 in windows will be /dev/ttyS0, COM2 will be /dev/ttyS1 and so on. Even though the names are different they refer to the same Interrupt and IO ports and that’s how we map these names as summarized in the following Table.

Name Under Windows | Name Under Linux | IO Address | Interrupt Request (IRQ)
COM 1 | /dev/ttyS0 | 0x3F8 | 4
COM 2 | /dev/ttyS1 | 0x2F8 | 3
COM 3 | /dev/ttyS2 | 0x3E8 | 4
COM 4 | /dev/ttyS3 | 0x2E8 | 3
COMX | /dev/ttySX | … | …
… | … | … | …

# Using Virtual Serial Port

This is the easiest method for receiving debug information from ReactOS. Virtual serial port is a very useful for machine that doesn’t have physical serial ports.

# Serial Port

The serial port is the most common method used for receiving debug messages from ReactOS. The method used for receiving data from the serial port depends on whether you run ReactOS in a virtual machine or on a real computer. If you plan to use virtual machine, you might want to consider using Com0com instead of named pipe for connecting with virtual serial port.

# Virtual machines

How to handle serial output from virtual machines can be found on the VM specific debugging pages: QEMU, VirtualBox or VMware. In this fun activities, we will use VirtualBox as the guest OS which ReactOS resides.

# Com0com Virtual Serial Port

com0com is a free utility to create virtual serial port pairs which can be used to capture the debug output of ReactOS and direct it to a terminal program. Useful terminal programs that are able to get this output include:

1. Hyper Terminal
2. Teraterm
3. Putty
4. Hercules
5. ReactOSDbg

# Install and Setting up Virtual Ports Using com0com

Download com0com and install it. It will automatically install a pair of default virtual COM ports "CNCA0" and "CNCB0" that are linked by a virtual null modem cable. You can optionally change the names and edit the settings with the GUI setup tool (setupg.exe). In this example they are named COM31 and COM32.

Connect the Virtual Machine to your first virtual port ("COM31") and the terminal application to the second ("COM32"). The properties of the serial port (usually specified in the virtual machine), like the baud rate, are not important. Instead, be sure to select "NO FLOW CONTROL", because otherwise the terminal app won't receive any characters. A complete step-by-step are shown in the following sections.

Firstly download com0com at: com0com. Run the Setup exe.

Dismiss Windows Security Warning.

Click Next.

Accept the License Agreement by clicking the I Agree button.

Select the components to be installed. In this case we select all components. Click Next.

Select the installation destination if needed. In this case we accept the given location and click Install.

The installation should begin.

The following console will be splashed for a while.

And also the following message.

Then, the Found Hardware Wizard page will be displayed. Click Next.

Select Install the software automatically (Recommended) and click Next.

Please wait for a while.

Click Finish.

The second time Found New Hardware message displayed.

Select No, not this time and click Next.

Select Install the software automatically (Recommended) and click Next. Please wait for a while.

Click Finish.

The emulated hardware is ready to be used.

The following screenshot marks the successful installation. Click Next.

Then, select the Launch Setup Command Prompt if you want to directly launch the setup console or click Finish to complete the installation steps. We click Finish in this case.

Or you can also use the GUI setup: Select Start → All Programs → com0com → Setup

The virtual serial port should be visible in the Windows Device Manager page.

And, any previously installed virtual serial ports (by other programs) should be visible (if your machine doesn’t have physical serial ports)

The virtual serial ports information can be viewed in the System Information.

Now, launch the GUI setup.

There are two default virtual ports are given to us: CNCA0 and CNCB0.

# Com0com and VirtualBox Configuration for Serial Debugging

In this section we will try to configure virtual serial ports and ReactOS for debugging. Firstly, launch the com0com console setup.

We will rename the default given port name. For the available commands, you can type help.

To view the default given virtual ports, issue list command.

Or as you can also rename the port to the desired name using the GUI setup. In this case we rename to COM31 (CNCA0) and COM32 (CNCB0) respectively. Click the port existing port name field/box and rename it.

Then you can verify the changes using the console setup.

If you want to rename the port using console setup, run the com0com command shell and type:

> install PortName=COM31 PortName=COM32

The changes should be visible in Windows Device Manager.

Next, go to the VM settings. Launch VM and click Settings icon/menu.

In the Guest Settings (ReactOS) for Serial Ports set as follow:

1. Port1: Checked

2. Port Number: COM1

3. Port Mode: Host Device

4. Port/File Path: \\.\COM31

# Download and Running PUTTY (the thin client)

Download and Run putty (thin client). Go to putty download page, uncompress the file and open putty by double-clicking the PUTTY.EXE

Select Serial folder for Connection type: on the left side pane (last folder).

For Serial line enter COM32 and for Flow control, set to None. Then click Open.

Leave the console opened.

# Running ReactOS in Debug Mode

When all the environment properly setup, launch VM and start ReactOS.

Select ReactOS (Debug).

Finally, see the debug messages in the putty console.

# Saving the Debug Messages

You can save the log to find solutions later.

The following is the example of the log.

> ehci_alloc(): reg_path=0xfe5b19dc,

> ehci_alloc(): PCIBus=0x5, bus=0x0, bus_addr=0x58

> ehci_alloc(): slot_num=0xb, &res_list=0xb017fba4

> ehci_alloc(): adapter=0xb01804a8

> ehci_alloc(): about to assign slot res

> ehci_alloc(): address space=0x0

> , reg_base=0xf0805000

> ehci_alloc(): the int=0x3a

> uhci_alloc(): reg_path=FE5B19DC,

> uhci_alloc(): PCIBus=0x5, bus=0x0, bus_addr=0x30

> uhci_alloc(): slot_num=0x6, &res_list=B016F114

> uhci_alloc(): about to assign slot res

> uhci_alloc(): address space=0x1

> , reg_base=0x0

> uhci_alloc(): the int=0x3b

> uhci_start(): current uhci status=0xffff

> uhci_start(): set bus 0 data at slot 0x6

> Unhandled event type: 6

> (ntoskrnl\io\iomgr\file.c:420) Using IopParseDevice() hack. Requested invalid attributes: 1

> (ntoskrnl\vdm\vdmmain.c:26) VME support detected but not yet taken advantage of

> (subsystems\win32\win32k\ntuser\sysparams.c:1499) UserSystemParametersInfo called without active windowstation.

> err:(dll\win32\user32\misc\dllmain.c:367) GetConnected

> (subsystems\win32\win32k\ntuser\desktop.c:604) RtlQueryRegistryValues failed for PaintDesktopVersion (c0000034)

> (subsystems\win32\win32k\ntuser\sysparams.c:1499) UserSystemParametersInfo called without active windowstation.

> (subsystems\win32\win32k\objects\gdiobj.c:951) Attempted to lock object 0x0 of wrong type (Handle: 0x0, requested: 0x50000)

> (subsystems\win32\win32k\objects\gdiobj.c:951) Attempted to lock object 0x0 of wrong type (Handle: 0x0, requested: 0x50000)

> (subsystems\win32\win32k\objects\gdiobj.c:951) Attempted to lock object 0x0 of wrong type (Handle: 0x0, requested: 0x50000)

> (subsystems\win32\win32k\objects\gdiobj.c:951) Attempted to lock object 0x0 of wrong type (Handle: 0x0, requested: 0x50000)

> err:(dll\win32\user32\windows\window.c:292) CreateWindowExA RegisterSystemControls

> (base\services\eventlog\eventlog.c:92) RegQueryValueEx failed: 183

> (base\services\eventlog\eventlog.c:175) Failed to load ReactOS Application Manager

> (base\services\umpnpmgr\umpnpmgr.c:2302) Unknown event, GUID {CB3A4009-46F0-11D0-B08F-00609713053F}

> (base\services\umpnpmgr\umpnpmgr.c:2302) Unknown event, GUID {CB3A4009-46F0-11D0-B08F-00609713053F}

> (base\services\umpnpmgr\umpnpmgr.c:2302) Unknown event, GUID {CB3A4009-46F0-11D0-B08F-00609713053F}

> (base\services\umpnpmgr\umpnpmgr.c:2302) Unknown event, GUID {CB3A4009-46F0-11D0-B08F-00609713053F}

> (ntoskrnl\ke\i386\exp.c:1053) Kill rpcss.exe, ExceptionCode: 6ba, ExceptionAddress: 7c70213b

> (base\services\umpnpmgr\umpnpmgr.c:2302) Unknown event, GUID {CB3A4009-46F0-11D0-B08F-00609713053F}

> (base\services\umpnpmgr\umpnpmgr.c:2302) Unknown event, GUID {CB3A4009-46F0-11D0-B08F-00609713053F}

> (subsystems\win32\win32k\ntuser\desktop.c:604) RtlQueryRegistryValues failed for PaintDesktopVersion (c0000034)

> err:(base\system\winlogon\screensaver.c:86) ImpersonateLoggedOnUser() failed with error 5

> (subsystems\win32\win32k\ntuser\sysparams.c:632) UserLoadImage failed

> (subsystems\win32\win32k\ntuser\class.c:1232) Local Class 0x0000C02D does already exist!

> (subsystems\win32\win32k\ntuser\class.c:2124) NtUserRegisterClassExWOW Null Return!

> (subsystems\win32\win32k\ntuser\class.c:1232) Local Class 0x0000C02D does already exist!

> (subsystems\win32\win32k\ntuser\class.c:2124) NtUserRegisterClassExWOW Null Return!

> Using shell hooks for notification of shell events.

> (subsystems\win32\win32k\ntuser\hook.c:1194) Not implemented: HookId 3 Global TRUE

> fixme:(dll\win32\kernel32\file\backup.c:35) BackupRead is UNIMPLEMENTED!

> fixme:(dll\win32\kernel32\file\backup.c:35) BackupRead is UNIMPLEMENTED!

> err:(dll\win32\setupapi\queue.c:1659) copy error 2 L"C:\\ReactOS\\inf\\serial.sys" -> L"C:\\ReactOS\\System32\\drivers\\serial.sys"

> err:(dll\win32\setupapi\queue.c:1659) copy error 2 L"C:\\ReactOS\\inf\\serenum.sys" -> L"C:\\ReactOS\\System32\\drivers\\serenum.sys"

> err:(dll\win32\setupapi\queue.c:1659) copy error 2 L"C:\\ReactOS\\inf\\usbport.sys" -> L"C:\\ReactOS\\System32\\drivers\\usbport.sys"

> err:(dll\win32\setupapi\queue.c:1659) copy error 2 L"C:\\ReactOS\\inf\\usbehci.sys" -> L"C:\\ReactOS\\System32\\drivers\\usbehci.sys"

> (ntoskrnl\io\pnpmgr\pnpmgr.c:2037) IopLoadServiceModule(usbehci) failed with status 0xc0000034

> (ntoskrnl\io\pnpmgr\pnpmgr.c:2074) Initialization of service usbehci failed (Status c0000034)

> err:(dll\win32\setupapi\queue.c:1659) copy error 2 L"C:\\ReactOS\\inf\\usbport.sys" -> L"C:\\ReactOS\\System32\\drivers\\usbport.sys"

> err:(dll\win32\setupapi\queue.c:1659) copy error 2 L"C:\\ReactOS\\inf\\usbohci.sys" -> L"C:\\ReactOS\\System32\\drivers\\usbohci.sys"

> (ntoskrnl\io\pnpmgr\pnpmgr.c:2037) IopLoadServiceModule(usbohci) failed with status 0xc0000034

> (ntoskrnl\io\pnpmgr\pnpmgr.c:2074) Initialization of service usbohci failed (Status c0000034)

> err:(dll\win32\setupapi\queue.c:1659) copy error 2 L"C:\\ReactOS\\inf\\isapnp.sys" -> L"C:\\ReactOS\\System32\\drivers\\isapnp.sys"

> MainFrameBase::OpenShellFolders(): parent_pidl=C:\Documents and Settings\Administrator.REACTOS\Desktop

> MainFrameBase::OpenShellFolders(): pidl_abs=(null)

> MainFrameBase::OpenShellFolders(): parent_pidl=(null)

> MainFrameBase::OpenShellFolders(): pidl_abs=C:\

> MDIMainFrame PM_OPEN_WINDOW: path=C:\

> MainFrameBase::OpenShellFolders(): parent_pidl=C:\

> MainFrameBase::OpenShellFolders(): pidl_abs=C:\Program Files

> MDIMainFrame PM_OPEN_WINDOW: path=C:\Program Files

> err:(dll\win32\user32\windows\menu.c:3405) MenuTrackMenu 1

> err:(dll\win32\user32\windows\menu.c:3687) MenuTrackMenu 2

> (subsystems\win32\win32k\ntuser\timer.c:418) Invalid window handle

> (subsystems\win32\win32k\ntuser\painting.c:679) PAINTING BUG: Thread marked as containing dirty windows, but no dirty windows found!

> MainFrameBase::OpenShellFolders(): parent_pidl=C:\Documents and Settings\Administrator.REACTOS\Desktop

> fixme:(dll\win32\shell32\she_ocmenu.c:1247) pidl is a shortcut

> fixme:(dll\win32\shell32\shlexec.c:1541) flags ignored: 0x00010000

> (lib\rtl\heap.c:1012) Heap 008B0000: invalid in-use arena magic for 008C3720

> (subsystems\win32\csrss\win32csr\guiconsole.c:1524) GuiConsoleResize X 560 Y 375

> (subsystems\win32\csrss\win32csr\guiconsole.c:1524) GuiConsoleResize X 560 Y 375

> (subsystems\win32\csrss\win32csr\guiconsole.c:2151) received event Console 00930890 GuiData 00930910 X 80 Y 25

> err:(dll\win32\user32\windows\menu.c:3405) MenuTrackMenu 1

> err:(dll\win32\user32\windows\menu.c:3687) MenuTrackMenu 2

> (subsystems\win32\win32k\ntuser\timer.c:418) Invalid window handle

> (subsystems\win32\csrss\win32csr\conio.c:2142) Can't get console

> err:(dll\win32\user32\windows\menu.c:3405) MenuTrackMenu 1

> err:(dll\win32\user32\windows\menu.c:3687) MenuTrackMenu 2

> (subsystems\win32\win32k\ntuser\timer.c:418) Invalid window handle

> MainFrameBase::OpenShellFolders(): parent_pidl=C:\Documents and Settings\Administrator.REACTOS\Desktop

> fixme:(dll\win32\shell32\she_ocmenu.c:1247) pidl is a shortcut

> fixme:(dll\win32\shell32\shlexec.c:1541) flags ignored: 0x00010000

> (lib\rtl\heap.c:1012) Heap 008B0000: invalid in-use arena magic for 008C4518

> (subsystems\win32\csrss\win32csr\guiconsole.c:1524) GuiConsoleResize X 560 Y 375

> (subsystems\win32\csrss\win32csr\guiconsole.c:2151) received event Console 00930890 GuiData 00930910 X 80 Y 25

> (subsystems\win32\csrss\win32csr\guiconsole.c:1524) GuiConsoleResize X 560 Y 375

> err:(dll\win32\user32\windows\menu.c:3405) MenuTrackMenu 1

> err:(dll\win32\user32\windows\menu.c:3687) MenuTrackMenu 2

> (subsystems\win32\win32k\ntuser\timer.c:418) Invalid window handle

> (subsystems\win32\csrss\win32csr\conio.c:2142) Can't get console

> err:(dll\win32\user32\windows\menu.c:3405) MenuTrackMenu 1

> err:(dll\win32\user32\windows\menu.c:3687) MenuTrackMenu 2

> (subsystems\win32\win32k\ntuser\timer.c:418) Invalid window handle

> (ntoskrnl\kd\kdio.c:297) -----------------------------------------------------

> (ntoskrnl\kd\kdio.c:298) ReactOS 0.3.11 (Build 20091212-r44553)

> (ntoskrnl\kd\kdio.c:299) Command Line: DEBUG DEBUGPORT=COM1 BAUDRATE=115200 SOS

> (ntoskrnl\kd\kdio.c:303) ARC Paths: multi(0)disk(0)rdisk(0)partition(1) \ multi(0)disk(0)rdisk(0)partition(1) \ReactOS\

> WARNING: HalStopProfileInterrupt at hal\halx86\generic\profil.c:24 is UNIMPLEMENTED!

> (ARMÂ³::POOL:173) OUT OF PAGED POOL!!!

> (ntoskrnl\mm\mminit.c:289) 0x80000000 - 0x81000000 Boot Loaded Image

> (ntoskrnl\mm\mminit.c:293) 0x81000000 - 0x87400000 Paged Pool

> (ntoskrnl\mm\mminit.c:297) 0xB0000000 - 0xB0060000 PFN Database

> (ntoskrnl\mm\mminit.c:301) 0xB0060000 - 0xB0260000 ARMÂ³ Non Paged Pool

> (ntoskrnl\mm\mminit.c:305) 0xBC000000 - 0xBD000000 System View Space

> (ntoskrnl\mm\mminit.c:309) 0xBD000000 - 0xC0000000 Session Space

> (ntoskrnl\mm\mminit.c:312) 0xC0000000 - 0xC0300000 Page Tables

> (ntoskrnl\mm\mminit.c:315) 0xC0300000 - 0xC0400000 Page Directories

> (ntoskrnl\mm\mminit.c:318) 0xC0400000 - 0xC0800000 Hyperspace

> (ntoskrnl\mm\mminit.c:322) 0xE1000000 - 0xE4400000 ARMÂ³ Paged Pool

> (ntoskrnl\mm\mminit.c:325) 0xF8C00000 - 0xFE5D4000 System PTE Space

> (ntoskrnl\mm\mminit.c:328) 0xFE5D4000 - 0xFFBE0000 Non Paged Pool Expansion PTE Space

> (ntoskrnl\ke\i386\kiinit.c:43) Large Page support detected but not yet taken advantage of

> (ntoskrnl\ke\i386\patpge.c:62) PAT support detected but not yet taken advantage of

> (ntoskrnl\ke\i386\mtrr.c:24) MTRR support detected but not yet taken advantage of

> PC Compatible Eisa/Isa HAL has been initialized

> WARNING: IoReportResourceUsage at ntoskrnl\io\iomgr\iorsrce.c:700 is UNIMPLEMENTED!

> WARNING: IoReportResourceUsage at ntoskrnl\io\iomgr\iorsrce.c:700 is UNIMPLEMENTED!

> (ntoskrnl\io\iomgr\driver.c:1391) '\Driver\BUSLOGIC' initialization failed, status (0xc00000c0)

> (ntoskrnl\io\pnpmgr\pnpmgr.c:2037) IopLoadServiceModule(usbehci) failed with status 0xc0000034

> (ntoskrnl\io\pnpmgr\pnpmgr.c:2037) IopLoadServiceModule(usbohci) failed with status 0xc0000034

> (drivers\network\ndis\ndis\miniport.c:2413)(NdisMRegisterMiniport) Initializing an NDIS 5.0 miniport

> (drivers\network\ndis\ndis\config.c:485)(NdisReadConfiguration) ZwQueryValueKey #1 failed for NetworkAddress, status 0xc0000034

> (drivers\network\ndis\ndis\config.c:700)(NdisReadNetworkAddress) NdisReadConfiguration failed (c0000001)

> (ntoskrnl\io\iomgr\deviface.c:1005) IoGetDeviceObjectPointer() failed with status 0xc0000010

> (ntoskrnl\io\pnpmgr\pnpmgr.c:2037) IopLoadServiceModule(usbehci) failed with status 0xc0000034

> (ntoskrnl\io\pnpmgr\pnpmgr.c:2037) IopLoadServiceModule(usbohci) failed with status 0xc0000034

> (ntoskrnl\io\pnpmgr\pnpmgr.c:2037) IopLoadServiceModule(usbehci) failed with status 0xc0000034

> (ntoskrnl\io\pnpmgr\pnpmgr.c:2037) IopLoadServiceModule(usbohci) failed with status 0xc0000034

> (ntoskrnl\io\iomgr\driver.c:1391) '\Driver\Floppy' initialization failed, status (0xc000000e)

> wood_uhci: Entering DriverEntry(), RegistryPath=

> \Registry\Machine\System\CurrentControlSet\Services\usbdriver

> ehci_alloc(): reg_path=0xfe5b19dc,

> ehci_alloc(): PCIBus=0x5, bus=0x0, bus_addr=0x58

> ehci_alloc(): slot_num=0xb, &res_list=0xb017f114

> ehci_alloc(): adapter=0xb0180d68

> ehci_alloc(): about to assign slot res

> ehci_alloc(): address space=0x0

> , reg_base=0xf0805000

> ehci_alloc(): the int=0x3a

> uhci_alloc(): reg_path=FE5B19DC,

> uhci_alloc(): PCIBus=0x5, bus=0x0, bus_addr=0x30

> uhci_alloc(): slot_num=0x6, &res_list=B016F114

> uhci_alloc(): about to assign slot res

> uhci_alloc(): address space=0x1

> , reg_base=0x0

> uhci_alloc(): the int=0x3b

> uhci_start(): current uhci status=0xffff

> uhci_start(): set bus 0 data at slot 0x6

> Unhandled event type: 6

> (ntoskrnl\io\iomgr\file.c:420) Using IopParseDevice() hack. Requested invalid attributes: 1

> (ntoskrnl\vdm\vdmmain.c:26) VME support detected but not yet taken advantage of

> (subsystems\win32\win32k\ntuser\sysparams.c:1499) UserSystemParametersInfo called without active windowstation.

> err:(dll\win32\user32\misc\dllmain.c:367) GetConnected

> (subsystems\win32\win32k\ntuser\desktop.c:604) RtlQueryRegistryValues failed for PaintDesktopVersion (c0000034)

> (subsystems\win32\win32k\ntuser\sysparams.c:1499) UserSystemParametersInfo called without active windowstation.

> (subsystems\win32\win32k\objects\gdiobj.c:951) Attempted to lock object 0x0 of wrong type (Handle: 0x0, requested: 0x50000)

> (subsystems\win32\win32k\objects\gdiobj.c:951) Attempted to lock object 0x0 of wrong type (Handle: 0x0, requested: 0x50000)

> (subsystems\win32\win32k\objects\gdiobj.c:951) Attempted to lock object 0x0 of wrong type (Handle: 0x0, requested: 0x50000)

> (subsystems\win32\win32k\objects\gdiobj.c:951) Attempted to lock object 0x0 of wrong type (Handle: 0x0, requested: 0x50000)

> err:(dll\win32\user32\windows\window.c:292) CreateWindowExA RegisterSystemControls

> (subsystems\win32\win32k\ntuser\desktop.c:604) RtlQueryRegistryValues failed for PaintDesktopVersion (c0000034)

> err:(base\system\winlogon\screensaver.c:86) ImpersonateLoggedOnUser() failed with error 5

> (base\services\eventlog\eventlog.c:92) RegQueryValueEx failed: 183

> (base\services\eventlog\eventlog.c:175) Failed to load ReactOS Application Manager

> (base\services\umpnpmgr\umpnpmgr.c:2302) Unknown event, GUID {CB3A4009-46F0-11D0-B08F-00609713053F}

> (base\services\umpnpmgr\umpnpmgr.c:2302) Unknown event, GUID {CB3A4009-46F0-11D0-B08F-00609713053F}

> (base\services\umpnpmgr\umpnpmgr.c:2302) Unknown event, GUID {CB3A4009-46F0-11D0-B08F-00609713053F}

> (base\services\umpnpmgr\umpnpmgr.c:2302) Unknown event, GUID {CB3A4009-46F0-11D0-B08F-00609713053F}

> (base\services\umpnpmgr\umpnpmgr.c:2302) Unknown event, GUID {CB3A4009-46F0-11D0-B08F-00609713053F}

> (base\services\umpnpmgr\umpnpmgr.c:2302) Unknown event, GUID {CB3A4009-46F0-11D0-B08F-00609713053F}

> (subsystems\win32\win32k\ntuser\sysparams.c:632) UserLoadImage failed

> (subsystems\win32\win32k\ntuser\class.c:1232) Local Class 0x0000C02D does already exist!

> (subsystems\win32\win32k\ntuser\class.c:2124) NtUserRegisterClassExWOW Null Return!

> (subsystems\win32\win32k\ntuser\class.c:1232) Local Class 0x0000C02D does already exist!

> (subsystems\win32\win32k\ntuser\class.c:2124) NtUserRegisterClassExWOW Null Return!

> Using shell hooks for notification of shell events.

> (subsystems\win32\win32k\ntuser\hook.c:1194) Not implemented: HookId 3 Global TRUE

> fixme:(dll\win32\kernel32\file\backup.c:35) BackupRead is UNIMPLEMENTED!

> fixme:(dll\win32\kernel32\file\backup.c:35) BackupRead is UNIMPLEMENTED!

> err:(dll\win32\setupapi\queue.c:1659) copy error 2 L"C:\\ReactOS\\inf\\serial.sys" -> L"C:\\ReactOS\\System32\\drivers\\serial.sys"

> err:(dll\win32\setupapi\queue.c:1659) copy error 2 L"C:\\ReactOS\\inf\\serenum.sys" -> L"C:\\ReactOS\\System32\\drivers\\serenum.sys"

> err:(dll\win32\setupapi\queue.c:1659) copy error 2 L"C:\\ReactOS\\inf\\usbport.sys" -> L"C:\\ReactOS\\System32\\drivers\\usbport.sys"

> err:(dll\win32\setupapi\queue.c:1659) copy error 2 L"C:\\ReactOS\\inf\\usbehci.sys" -> L"C:\\ReactOS\\System32\\drivers\\usbehci.sys"

> (ntoskrnl\io\pnpmgr\pnpmgr.c:2037) IopLoadServiceModule(usbehci) failed with status 0xc0000034

> (ntoskrnl\io\pnpmgr\pnpmgr.c:2074) Initialization of service usbehci failed (Status c0000034)

> err:(dll\win32\setupapi\queue.c:1659) copy error 2 L"C:\\ReactOS\\inf\\usbport.sys" -> L"C:\\ReactOS\\System32\\drivers\\usbport.sys"

> err:(dll\win32\setupapi\queue.c:1659) copy error 2 L"C:\\ReactOS\\inf\\usbohci.sys" -> L"C:\\ReactOS\\System32\\drivers\\usbohci.sys"

> (ntoskrnl\io\pnpmgr\pnpmgr.c:2037) IopLoadServiceModule(usbohci) failed with status 0xc0000034

> (ntoskrnl\io\pnpmgr\pnpmgr.c:2074) Initialization of service usbohci failed (Status c0000034)

> err:(dll\win32\setupapi\queue.c:1659) copy error 2 L"C:\\ReactOS\\inf\\isapnp.sys" -> L"C:\\ReactOS\\System32\\drivers\\isapnp.sys"

> MainFrameBase::OpenShellFolders(): parent_pidl=C:\Documents and Settings\Administrator.REACTOS\Desktop

> fixme:(dll\win32\shell32\she_ocmenu.c:1247) pidl is a shortcut

> fixme:(dll\win32\shell32\shlexec.c:1541) flags ignored: 0x00010000

> (lib\rtl\heap.c:1012) Heap 008B0000: invalid in-use arena magic for 008BF978

> (subsystems\win32\csrss\win32csr\guiconsole.c:1524) GuiConsoleResize X 560 Y 375

> (subsystems\win32\csrss\win32csr\guiconsole.c:1524) GuiConsoleResize X 560 Y 375

> (subsystems\win32\csrss\win32csr\guiconsole.c:2151) received event Console 00930900 GuiData 00930980 X 80 Y 25

# Resetting the Terminal

To clear the console, select Reset Terminal menu.

# Using Windows HyperTerminal

If all the configuration is fine, you can also use Windows HyperTerminal to see the debug messages. Launch Windows HyperTerminal.

Give the connection name and select the icon. Click OK.

Set the connection port to COM32. Click OK.

Set the bits per second (bps) and others as shown below. Click OK.

Leave the HyperTerminal console open and restart ReactOS in debug mode. Then, the debug message should be visible.

Well, hopefully you will 'expand' the ReactOS exploration by yourself.

# Install, Build and Debug ReactOS: A Hands-on Practice