%ì Librarian A09-30Gö–¶³© ø–¶³©v5Y FError_messages ÖEXITHELPfIGNORE˜SET"SHOW¸WATCH ­©à÷–¶³©1 HELPN******************************************************************************N******************************************************************************1 FOR INTERNAL USE ONLY@ Copyright (c) 1986 by Digital Equipment CorporationHThe information in this document is subject to change without notice andJshould not be construed as a commitment by Digital Equipment Corporation.KDigital Equipment Corporation assumes no res ponsibility for any errors thatmay occur in this document. NThis specification does not describe any program or product which is currentlyHavailable from Digital Equipment Corporation. Nor does Digital EquipmentMCorporation commit to implement this specification in any product or program.DDigital Equipment Corporation makes no commitment that this document0accurately describes any product it might make. N******************************************************************************N**** **************************************************************************C The WATCHPOINT UTILITY is an Internal Use Only debugging tool thatB maintains a history of modification that are made to a particular: location in shared system space. The WATCHPOINT command> interpreter (WP) issues $QIO request to the WATCHPOINT driver? (WPDRIVER) from commands that follow the standard rules of DCL grammar.C Commands may be entered at the watchpoint> prompt to set, delete, ) and obtain in formation from watchpoints.= Before invoking the WATCHPOINT command interpreter (WP), or < loading the WATCHPOINT driver one must first set the SYSGEN> MAXBUF dynamic parameter to 64000. This can be accomplished as follows: $ RUN SYS$SYSTEM:SYSGEN SYSGEN> SET MAXBUF 64000 SYSGEN> WRITE ACTIVE SYSGEN> WRITE CURRENT SYSGEN> EXIT> Before invoking the WATCHPOINT command interpreter (WP), the D WATCHPOINT driver (WPDRIVER), must first be installed with SYSMAN. & This can be a ccomplished as follows:  $ RUN SYS$SYSTEM:SYSMAN6 SYSMAN> IO CONNECT WPA0/DRIVER=SYS$WPDRIVER/NOADAPTER SYSMAN> EXITF The WATCHPOINT command interpreter (WP) can then be invoked with the command:  $ RUN SYS$SYSTEM:WP@ Commands may then be entered at the watchpoint> prompt to set, 0 delete,and obtain information from Watchpoints.E Some of the WP help screens as well as the output to the WP Utility A are best viewed using a terminal with a character width of 132. % This can  be accomplished as follows:  $ SET TERM/WID=132ww­©à÷–¶³©1 Error_messages6 BADASSIGN, unable to assign Watch Point pseudo-device@ INSKIPPED, unreasonable instruction stream - n bytes skipped" INVHEX, invalid hexadecimal value& INVADR, invalid shared system address- NOPRIV, no privilege for attempted operation7 TRUNCTT, Trace Table is truncated, n entries remainingC System service messages may be returned if the the Watchpoint driver returns an error. K SERFAIL, Unable to queue I/O request to WPA0: -- system service status: 28E The above system message indicates that the SYSGEN MAXBUF parameter has not been set to 64000.ww­©à÷–¶³©1 EXIT EXIT C This command terminates the Watchpoint command interpreter session@ and control returns to DCL. Pressing CTRL/Z performs the sameE action. Watchpoints remain set and the Watchpoint driver continues E to keep a history of modification made to the watchpoint. To remove- watchpoints one must use the IGNORE command.ww­©à÷–¶³©1 IGNORE IGNORE waddrB This command deletes the watchpoint whose address is specified by 64-bit waddr.2 waddrA Specifies the 64-bit address of the watchpoint in shared system D space (S0, S1, S2, shared page tables, global page tables, and the F PFN database). Specify the input address in hexadecimal radix. The A address may be proceeded by the letter 'G'. This will have the G effect of adding to the input address the value 'FFFFFFFF80000000'. G This can be used as a short hand to specify an S0/S1 system address. F The address may be proceeded by the letter 'I'. This will have the F effect of adding leading 'F's to the input address. It can be used . as a short hand for specifying an S2 address. 2 Examples watchpoint> IGNORE I8000106A watchpoint> IGNORE G107A watchpoint> IGNORE IDFF801FFC$ watchpoint> IGNORE FFFFFFFDFF7FED00 watchpoint> IGNORE 1234, %WP-E-INVADR, invalid shared system address watcpoint> IGNORE ABCEDFGHI( %WP-E-INVHEX, invalid hexadecimal valueww­©à÷–¶³©1 SET SET parameter [/qualifier...]2 LOG SET LOGC Begins logging output to a file (WP.LOG) in the current directory.@ All commands and output are displayed on the screen and written to the log file.2 NOLOG SET NOLOG@ Ends logging output to a file. The log file, WP.LOG, is closed, and output is displayed only on the screen.ww­©à÷–¶³©1 SHOW SHOW waddrD Displays a history of modification made to a particular watchpoint.D If the watchpoint has not been touched, the display is abbreviated.2 waddrA Specifies the 64-bit address of the watchpoint in shared system D space (S0, S1, S2, shared page tables, global page tables, and the F PFN database). Specify the input address in hexadecimal radix. The A address may be proceeded by the letter 'G'. This will have the G effect of adding to the input address the value 'FFFFFFFF80000000'. G This can be used as a short hand to specify an S0/S1 system address. F The address may be proceeded by the letter 'I'. This will have the F effect of adding leading 'F's to the input address. It can be used . as a short hand for specifying an S2 address.2 /CONTROL_BLOCK@ Specifies that the watchpoint control block be displayed. This is the default qualifier.2 /TRACE_TABLE8 Specifies that the watchpoint trace table be displayed.2 /FULLA Specifies that both the watchpoint control block and trace table be displayed. 2 Examples%watchpoint>show/full FFFFFFFF80DC6334]Base address: ffffffff80dc6334 Length: 4 Address touched: ffffffff80dc6335 Type: SilentCTime touched: 13:36:51.02 Touched count: 7 PC: ffffffff800a81f0PSL: 8015 * Watch Point Contents *NInitial: 0 Previous: 7e00 Post:  80008 * ALPHA Register Contents *]R00: 0000000000000000 R01: ffffffff80e73280 R02: 0000000000000001 R03: ffffffff80e73280]R04: ffffffff80d0a000 R05: ffffffff80dc6280 R06: 000000007ff940e0 R07: 0000000000000031]R08: ffffffff80c98818 R09: 00000000000ee965 R10: 00000000000ee9a4 R11: ffffffff80c4ece0]R12: 0000000000008000 R13: ffffffff80c607d0 R14: ffffffff80d2fa00 R15: ffffffff80c04c00]R16: ffffffff80e73280 R17: ffffffff80dc6280 R18: 0 000000008021d10 R19: 0000000000000008]R20: 0000000000008012 R21: 0000003fffffffff R22: 0000000000000000 R23: 0000000000002004]R24: 00000000000000ff R25: 0000000000000000 R26: 0000000000008000 R27: ffffffff80e73308]R28: 0000000000000000 R29: 000000007ffa1d80 R30: 000000007ffa1c60 R31: 00000000000000003 * Instruction Stream * - Address Machine Code Source Code4 ffffffff800a81f0 b34500b4 STL R26,#X00B4(R5)4 ffffffff800a 81f4 a3230068 LDL R25,#X0068(R3)4 ffffffff800a81f8 b32500b8 STL R25,#X00B8(R5)1 ffffffff800a81fc 47ff041f BIS R31,R31,R314 ffffffff800a8200 a2430050 LDL R18,#X0050(R3)2 ffffffff800a8204 4a42f698 SRL R18,#X17,R243 ffffffff800a8208 f3000049 BLBS R24,#X0000491 ffffffff800a820c 47ff041f BIS R31,R31,R314 ffffffff800a8210 a2c50088 LDL R22,#X0088(R5)2 ffffffff800a8214 46c91116 BIC R22,#X48,R224 ffffffff800a8218 b2c50088 STL R22, #X0088(R5)4 ffffffff800a821c a2430050 LDL R18,#X0050(R3)2 ffffffff800a8220 4650101c AND R18,#X80,R282 ffffffff800a8224 f7800048 BNE R28,#X0000484 ffffffff800a8228 a2c500a0 LDL R22,#X00A0(R5)2 ffffffff800a822c e6c00003 BEQ R22,#X000003Base address: ffffffff80dc6334ZRef. Ref. Ref. Op. PreviousZByte Count Time Code PC PSL Contents_01 00000007 13:36:51.02 2c ffffffff800a81f0 801 7e00_01 00000006 13:36:50.97 2c ffffffff800a81f0 801 200_01 00000005 13:36:49.69 2c ffffffff800a81f0 800 400_01 00000004 13:36:49.68 2c ffffffff800a81f0 800 200_01 00000003 13:36:49.65 2c ffffffff800a81f0 800 400_01 00000002 13:36:49.60 2c ffffffff800a81f0 800 200_01 00000001 13:36:47.63 2c ffffffff800a81f0 801 0 ww­ ø–¶³©1 WATCH WATCH waddrG Sets a watchpoint and specifies action to be taken when the watchpoint is touched.2 waddrA Specifies the 64-bit address of the watchpoint in shared system D space (S0, S1, S2, shared page tables, global page tables, and the F PFN database). Specify the input addre ss in hexadecimal radix. The A address may be proceeded by the letter 'G'. This will have the G effect of adding to the input address the value 'FFFFFFFF80000000'. G This can be used as a short hand to specify an S0/S1 system address. F The address may be proceeded by the letter 'I'. This will have the F effect of adding leading 'F's to the input address. It can be used . as a short hand for specifying an S2 address.2 /BYTEB Specifies that the length of the watchpoint is one byte. This is the default qualifier.2 /WORD: Specifies that the length of the watchpoint is two bytes.2 /LONG; Specifies that the length of the watchpoint is four bytes.2 /QUAD< Specifies that the length of the watchpoint is eight bytes. 2 /SILENTD Specifies that no special action is to be taken when the watchpoint; is touched. This is the default qualifier. 2 /XDELTAD Specifies that the Watchpoint driver is to generate an XDELTA break& point when the watchpoint is touched.2 /FATAL@ Specifies that the Watchpoint driver is to generate a bug checkA when the watchpoint is touched. The driver produces a bug check code of WATCHPOINT. 2 Example& watchpoint> WATCH G1068 /LONG /SILENT watchpoint> WATCH I8000106A  watchpoint> WATCH G107A /QUAD watchpoint> WATCH IDFF7FED00# watchpoint> WATCH FFFFFFFDFF7FED00H %WP-E-WASSET, Watchpoint coincides or overlaps with existing watchpoint watchpoint> WATCH 1234, %WP-E-INVADR, invalid shared system address watcpoint> WATCH ABCEDFGHI( %WP-E-INVHEX, invalid hexadecimal valueww