Specifications

Debugging a Device Driver
11.4 Troubleshooting Network Failures
Example 11–4 (Cont.) Setting a Breakpoint
DBG> set image system_debug
DBG> show module
module name symbols size
C_TEST_ROUTINES no 2152
FATAL_EXC no 3116
SERVER_NET no 2632
TARGET_KERNEL no 18296
total C modules: 5. bytes allocated: 549256.
DBG> set module c_test_routines
DBG> show module
module name symbols size
C_TEST_ROUTINES yes 2152
FATAL_EXC no 3116
SERVER_NET no 2632
TARGET_KERNEL no 18296
total C modules: 5. bytes allocated: 553848.
DBG> set language c
DBG> show symbol test_c_code*
routine C_TEST_ROUTINES\test_c_code3
routine C_TEST_ROUTINES\test_c_code2
routine C_TEST_ROUTINES\test_c_code
DBG> set break test_c_code
DBG> sho break
breakpoint at routine C_TEST_ROUTINES\test_c_code
To set a breakpoint at the first routine in the C_TEST_ROUTINES module of the
SYSTEM_DEBUG.EXE execlet, do the following:
1. Load the symbols for the SYSTEM_DEBUG image with the DEBUG SET
IMAGE command.
2. Use the SET MODULE command to get the symbols for the module.
3. Set the language to be C and set a breakpoint at the routine test_c_code.
The language must be set because C is case sensitive and test_c_code needs
to be specified in lower case. The language is normally set to the language of
the main image, in this example SYS$BASE_IMAGE.EXE. Currently that is
not C.
Now that the breakpoint is set, you can proceed and activate the breakpoint.
When that occurs, the debugger tries to open the source code for that location
in the same place as where the module was compiled. Because that is not the
same place as on your system, you need to tell the debugger where to find the
source code. This is done with the DEBUG SET SOURCE command, which takes
a search list as a parameter so you can make it point to many places.
11–17