This article outlines how to set up for remote debugging.
To set up to remotely debug another computer, do the following:
For example:
XCOPY <Source SP Symbols path> C:\WinNT\Debug\Symbols /s /e
- Determine what Hotfixes, if any, have been installed,
Prb18756, Bug18756
and copy the Hotfix Symbols tree to <localSymbols\<dir>\. For more
information on the Hotfix Symbols tree, contact Microsoft Product
Support Services (Enterprise Technical Support).
For example:
- Determine if you are using the Microsoft or third-party MP Kernel. If
it is Microsoft's MP Kernel, then from <localSymbols>\EXE, copy
NTKRNLMP.DBG to NTOSKRNL.DBG. If it is a third-party MP Kernel, obtain a
copy of the symbols and copy it into your
<localSymbols>\EXE\NTOSKRNL.DBG.
- Determine if you are using the Microsoft Windows NT HAL or a
third-party HAL. If it is a Microsoft Windows NT HAL, but not the
standard ISA/EISA HAL, then from <localSymbols>\DLL, copy the
appropriate HAL*.DBG to HAL.DBG. If it is a third-party HAL, obtain a
copy of the symbols and copy it into your
<localSymbols>\DLL\HAL.DBG.
- Connect the modem to the remote debug target computer using the port
from above and reboot the target computer.
- Go to the <localDebug> directory and run the following
REMDBG.BAT file:
REM Modem String to Disable Flow Control and Compression
ECHO "UsRobotics Modem string = AT&H0&I0&K0&M0"
REM Environment Variables:
REM Specify which com port to use. (Default = com1)
set _NT_DEBUG_PORT=com1
REM Specify symbol image path. (Default = x: * NO trailing
backslash *)
set _NT_SYMBOL_PATH=%2\Symbols
REM Specify second symbol image path to be searched after the above.
set _NT_ALT_SYMBOL_PATH=%3\Symbols
REM Specify the baud rate used by debugging serial port.
(Default = 19200)
set _NT_DEBUG_BAUD_RATE=9600
REM If specified, output will be APPENDed to this file.
set _NT_DEBUG_LOG_FILE_APPEND=DEBUG.LOG
REM If specified, output will be written to this file from offset 0.
REM set _NT_DEBUG_LOG_FILE_OPEN=U:\WinNT\DEBUG\DEBUG.LOG
REM set _NT_DEBUG_CACHE_SIZE=x
remote /s "%1kd -m %4 %5 %6 %7 %8 %9" debug
REM Usage: *kd [-?] [-v] [-m] [-r] [-n] [-b] [-x] [[-l
SymbolFile] [KrnlName]
REM where:
REM -v Verbose mode
REM -? Display this help
REM -n No Lazy symbol loading
REM -m Use modem controls
REM -b Break into kernel
REM -c Resync on Connect
REM Control Keys:
REM . <Ctrl-C> Break into kernel
REM <Ctrl-B><Enter> Quit debugger
REM . <Ctrl-R><Enter> Resynchronize target and host
REM . <Ctrl-V><Enter> Toggle Verbose mode
REM . <Ctrl-D><Enter> Display debugger debugging information
through the following command:
[u:\winnt\debug] remdbg <kd> <localSymbols> <baseBuildpath> <addOptions>
^ ^ ^ ^
Kernel Debugger to use ---+ | | |
Example: i386 | MIPS | Alpha | | |
| | |
localSymbols without Symbols name -+ | |
Example: c:\winnt\debug | |
| |
baseBuild (UNC) without Symbols name ------------+ |
Example: <Symbols server>\528\i386 |
|
Additional Debug Options ---------------------------------------+
Example: -b (Break In on Connect) -c (Resync on Connect)
Contact Microsoft Product Support Services (Enterprise Technical Support)
for more information on the <Symbols server>.
Example
remdbg i386 u:\winnt\debug <Symbols server>\528\i386 -b
"UsRobotics Modem string = AT&H0&I0&K0&M0"
**************************************
*********** REMOTE ************
*********** SERVER ************
**************************************
To Connect: Remote /C MARCM.PORT debug
Microsoft(R) Windows NT Kernel Debugger
Version 1.00
(C) 1991 Microsoft Corp.
Symbol search path is: u:\winnt\debug\Symbols;.;
KD: ntoskrnl.exe image based at 80100000
KD: Preloading kernel symbols from u:\winnt\debug\Symbols\exe\ntoskrnl.DBG.
KD: waiting to connect...
KD: No carrier detect - in terminal mode
>From here, paste in the above Modem String and wait for the modem to
return OK. Then enter the ATDT<Phone number> of the remote target computer as below:
AT&H0&I0&K0&M0
AT&H0&I0&K0&M0
OK
ATDT9,<Phone number>
ATDT9,<Phone number>
CONNECT 9600
KD: Carrier detect - returning to debugger
^R \\ Resync's the debuggers
KD: Kernel Debugger connection established. (Initial Breakpoint requested)
NT!_KeUpdateSystemTime+0x109:
8015e109 cc int 3
kd>
For information on how to enable remote debugging in Windows XP Service Pack 2, visit the following Microsoft Web site: