WinDBG Tutorial – Part 3

Just short piece of information about Remote Debugging.

Remote Debugging actually means connecting the debugger on one computer to a process on another computer.

Typical scenario: PC 1 has a program that needs to be debugged. PC 2 does the debugging.



-          PC 1 might not have symbols and sources for debugging (e.g. PC 1 is user of application, PC 2 is application vendor)

-          PC 1 can be installed in a virtual machine

-          PC 2 can debug  kernel crashes

There are multiple ways of connecting the two PCs (which is normal, as multiple transport protocols are supported), but here is a quick-start for the most typical: via TCP/IP.


1.       Setup PC 1 as debugging Server:

If the WinDBG is already started on PC 1, open the Command window and write:

.server  tcp:port=4001

If WinDBG is not opened, start it from the command prompt with the options:

               \:>Windbg.exe  -server tcp:port=4001

2.       Connect PC 2 to PC 1:

Open WinDBG from command prompt with arguments:

               \:>Windbg.exe  windbg.exe -remote tcp:server=\\,port=4001

Note: The value written in red are only examples. The IP address has to be the one of PC 1 and the port should be one of the free ports of PC 1.

3.       Attach the debugger on PC 1 to a process, open a Dump or whatever. When a debugger is attached on PC 1, PC 2 will be able to debug that process as if it were a local process.

This is only one of the numerous ways of doing remote debugging. There is always the Help -> Search option in WinDBG that you can check for advanced options.


Comments (0)

Skip to main content