HP OpenVMS Version 8.3 Release Notes


Previous Contents

4.29.33 Compiling and Linking an SDA Extension

In Section 10.2.1 Note 2, both instances of "ALPHA$LIBRARY" should be changed to "SYS$LIBRARY."

4.29.34 Debugging an Extension

In the example in Section 10.3, both instances of "alpha$library" should be changed to "sys$library."

4.29.35 Callable Routines Overview

In Section 10.4, "SDA$NEWPAGE" should be changed to "SDA$NEW_PAGE."

The following routines should be added alphabetically to the existing list:

SDA$CBB_BOOLEAN_OPER
SDA$CBB_CLEAR_BIT
SDA$CBB_COPY
SDA$CBB_FFC
SDA$CBB_FFS
SDA$CBB_INIT
SDA$CBB_SET_BIT
SDA$CBB_TEST_BIT
SDA$DELETE_PREFIX
SDA$FID_TO_NAME
SDA$GET_FLAGS

The final paragraph of the section that begins with "So, for example," should be part of the final bullet that begins with, "Some routines expect..."

The following new bullet should be added to the end of the section:

4.29.36 Setting Up the Target System for Connections

In Section 11.3, in the Boot Command description, the phrase "with boot command" should be changed to "with the boot command."

In the paragraph before the SCD Configuration File description, the final sentence should read, "See the Boot Option Maintenance Menu, as described in the HP OpenVMS System Manager's Manual, Volume 1: Essentials.

In Section 11.3, the first bullet in the XDELTA Commands Description should read:

The System Parameters description in Section 11.3 should have the following two bullets appended:

At the end of Section 11.3.2, the following should be added:

The equivalent technique on I64 is as follows: Boot the system with only the SCD flag set (bit 15). When you see that the error has occurred, press Ctrl/P at the console. This action gives control to XDELTA (even though the XDELTA boot flag is not set), and you can now type 1;R. The target kernel will get control and wait for a connection for SCD.

Also, the following new Section 11.3.3 should be added:

The target kernel must have exclusive use of its ethernet device. Some system components, such as DECnet, will not start if the System Code Debugger is loaded. If there are multiple Ethernet devices, and the system is configured to give exclusive access of the SCD Ethernet device to the target kernel, the logical name DBGTK$OVERRIDE should be defined, indicating that the affected system components should start up as normal. The logical name can either be defined systemwide, or in the process where the startup command for the system component will be executed.

In Section 11.11.1, the final sentence of the second paragraph ("To remove symbols...") should be removed.

In Section 11.11.3, the second and third bullets should be removed, and the first bullet ("Access to All Executive Image Symbols") should not be a bullet.

In Section 11.12, the following new paragraph should appear immediately before Example 11-1:

Note that the example displays from Example 11-5 onwards are all taken from an OpenVMS I64 system. On an OpenVMS Alpha system, some of the output is different, but the commands entered are the same on both platforms, with one exception as noted in the accompanying text.

Also in Section 11.12, the references to "V8.2-014" should be changed to "V8.3-003."

Example 11-5 should be replaced with the following:


DBG> connect %node_name TSTSYS 
%DEBUG-I-INIBRK, target system interrupted 
DBG> show image 
 image name                      set    base address         end address 
 
 ERRORLOG                        no     0000000000000000     FFFFFFFFFFFFFFFF 
 EXEC_INIT                       no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$ACPI                        no     0000000000000000     FFFFFFFFFFFFFFFF 
*SYS$BASE_IMAGE                  yes    0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$DKBTDRIVER                  no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$DKBTDRIVER                  no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$DKBTDRIVER                  no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$EGBTDRIVER                  no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$OPDRIVER                    no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$PKMBTDRIVER                 no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$PKMBTDRIVER                 no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$PKMBTDRIVER                 no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$PLATFORM_SUPPORT            no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$PUBLIC_VECTORS              no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$SRBTDRIVER                  no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYSTEM_DEBUG                    no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYSTEM_PRIMITIVES               no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYSTEM_SYNCHRONIZATION          no     0000000000000000     FFFFFFFFFFFFFFFF 
 
 total images: 18 
DBG> 
Example 11-7 should be replaced with the following:


DBG> set image system_debug 
%DEBUG-I-DYNLNGSET, setting language IMACRO 
DBG> show module 
module name                     symbols   language   size 
 
AUX_TARGET                      no        C             0 
BUFSRV_TARGET                   no        C             0 
BUGCHECK_CODES                  no        BLISS         0 
C_TEST_ROUTINES                 no        C             0 
LIB$$UNWIND_WEAK                no        BLISS         0 
LIB$EF                          no        IMACRO        0 
LIB$MALLOC                      no        C             0 
LIB$MALLOC_64                   no        C             0 
LINMGR_TARGET                   no        C             0 
OBJMGR                          no        C             0 
PLUMGR                          no        C             0 
POOL                            no        C             0 
PROTOMGR_TARGET                 no        C             0 
SOCMGR                          no        C             0 
SYS$DOINIT                      yes       IMACRO   122526 
TMRMGR_TARGET                   no        C             0 
 
total modules: 16 
DBG> set module c_test_routines 
DBG> show module c_test_routines 
module name                     symbols    size 
 
C_TEST_ROUTINES                 yes        5672 
 
total C modules: 1 
DBG> set language c 
DBG> show symbol test_c_code* 
routine C_TEST_ROUTINES\test_c_code 
routine C_TEST_ROUTINES\test_c_code2 
routine C_TEST_ROUTINES\test_c_code3 
routine C_TEST_ROUTINES\test_c_code4 
routine C_TEST_ROUTINES\test_c_code5 
DBG> set break test_c_code 
 

In Example 11-8, the final line should be replaced with the following:


113:     x = c_test_array[0]; 

Example 11-9 should be replaced with the following:


DBG> Set Mode Screen; Set Step Nosource 
 
- SRC: module C_TEST_ROUTINES -scroll-source------------------------------------ 
    98:     c_test_array[5] = in64; 
    99:     c_test_array[6] = in32; 
   100:     if (c_test_array[9] > 0) 
   101:         *pVar =  (*pVar + c_test_array[17]) & c_test_array[9]; 
   102:     else 
   103:         *pVar = (*pVar + c_test_array[17]); 
   104:     c_test_array[7] = test_c_code3(10); 
   105:     c_test_array[3] = test; 
   106:     return c_test_array[23]; 
   107: } 
   108: void test_c_code(void) 
   109: { 
   110:     int x,y; 
   111:     __int64 x64,y64; 
   112: 
-> 113:     x = c_test_array[0]; 
   114:     y = c_test_array[1]; 
   115:     x64 = c_test_array[2]; 
   116:     y64 = c_test_array[3]; 
   117:     c_test_array[14] = test_c_code2(x64+y64,x+y,x64+x,&y64); 
   118:     test_c_code4(); 
   119:     return; 
   120: } 
- OUT -output------------------------------------------------------------------- 
 
 
 
 
 
 
 
 
 
 
 
 
- PROMPT -error-program-prompt-------------------------------------------------- 
 
 
 
 
 
DBG> 

In the paragraph immediately preceding Example 11-10, the reference to line 46 should be replaced with line 93.

Example 11-10 should be replaced with the following:


- SRC: module C_TEST_ROUTINES -scroll-source------------------------------------ 
    80: void test_c_code4(void) 
    81: { 
    82:     int i,k; 
    83:     for(k=0;k<1000;k++) 
    84:       { 
    85:          test_c_code5(&i); 
    86:       } 
    87:     return; 
    88: } 
    89: int test_c_code3(int subrtnCount) 
    90: { 
    91:     subrtnCount = subrtnCount - 1; 
    92:     if (subrtnCount != 0) 
    93:         subrtnCount = test_c_code3(subrtnCount); 
    94:     return subrtnCount; 
    95: } 
    96: int test_c_code2(__int64 in64,int in32, __int64 test, __int64* pVar) 
    97: { 
    98:     c_test_array[5] = in64; 
    99:     c_test_array[6] = in32; 
   100:     if (c_test_array[9] > 0) 
   101:         *pVar =  (*pVar + c_test_array[17]) & c_test_array[9]; 
   102:     else 
- OUT -output------------------------------------------------------------------- 
 
 
 
 
 
 
 
 
 
 
 
 
- PROMPT -error-program-prompt-------------------------------------------------- 
 
 
 
DBG> Scroll/Up 
DBG> set break %line 93 
DBG> 

Example 11-11 should be replaced with the following:


- SRC: module C_TEST_ROUTINES -scroll-source------------------------------------ 
    82:     int i,k; 
    83:     for(k=0;k<1000;k++) 
    84:       { 
    85:          test_c_code5(&i); 
    86:       } 
    87:     return; 
    88: } 
    89: int test_c_code3(int subrtnCount) 
    90: { 
    91:     subrtnCount = subrtnCount - 1; 
    92:     if (subrtnCount != 0) 
->  93:         subrtnCount = test_c_code3(subrtnCount); 
    94:     return subrtnCount; 
    95: } 
    96: int test_c_code2(__int64 in64,int in32, __int64 test, __int64* pVar) 
    97: { 
    98:     c_test_array[5] = in64; 
    99:     c_test_array[6] = in32; 
   100:     if (c_test_array[9] > 0) 
   101:         *pVar =  (*pVar + c_test_array[17]) & c_test_array[9]; 
   102:     else 
   103:         *pVar = (*pVar + c_test_array[17]); 
   104:     c_test_array[7] = test_c_code3(10); 
- OUT -output------------------------------------------------------------------- 
break at C_TEST_ROUTINES\test_c_code3\%LINE 93 
 
 
 
 
 
 
 
 
 
 
 
- PROMPT -error-program-prompt-------------------------------------------------- 
 
 
DBG> Scroll/Up 
DBG> set break %line 93 
DBG> go 
DBG> 

In the paragraph immediately preceding Example 11-12, the reference to line 147 should be replaced with line 94, and the reference to line 146 with line 93.

Example 11-12 should be replaced with the following:


- SRC: module C_TEST_ROUTINES -scroll-source------------------------------------ 
    82:     int i,k; 
    83:     for(k=0;k<1000;k++) 
    84:       { 
    85:          test_c_code5(&i); 
    86:       } 
    87:     return; 
    88: } 
    89: int test_c_code3(int subrtnCount) 
    90: { 
    91:     subrtnCount = subrtnCount - 1; 
    92:     if (subrtnCount != 0) 
->  93:         subrtnCount = test_c_code3(subrtnCount); 
    94:     return subrtnCount; 
    95: } 
    96: int test_c_code2(__int64 in64,int in32, __int64 test, __int64* pVar) 
    97: { 
    98:     c_test_array[5] = in64; 
    99:     c_test_array[6] = in32; 
   100:     if (c_test_array[9] > 0) 
   101:         *pVar =  (*pVar + c_test_array[17]) & c_test_array[9]; 
   102:     else 
   103:         *pVar = (*pVar + c_test_array[17]); 
   104:     c_test_array[7] = test_c_code3(10); 
- OUT -output------------------------------------------------------------------- 
break at C_TEST_ROUTINES\test_c_code3\%LINE 93 
break at C_TEST_ROUTINES\test_c_code3\%LINE 93 

In the paragraph immediately preceding Example 11-13, the following statement should be added before the closing parenthesis:

The suffix _CODE0 is appended if the executive image is sliced.

Example 11-13 should be replaced with the following:


- SRC: module C_TEST_ROUTINES -scroll-source------------------------------------ 
    82:     int i,k; 
    83:     for(k=0;k<1000;k++) 
    84:       { 
    85:          test_c_code5(&i); 
    86:       } 
    87:     return; 
    88: } 
    89: int test_c_code3(int subrtnCount) 
    90: { 
    91:     subrtnCount = subrtnCount - 1; 
    92:     if (subrtnCount != 0) 
->  93:         subrtnCount = test_c_code3(subrtnCount); 
    94:     return subrtnCount; 
    95: } 
    96: int test_c_code2(__int64 in64,int in32, __int64 test, __int64* pVar) 
    97: { 
    98:     c_test_array[5] = in64; 
    99:     c_test_array[6] = in32; 
   100:     if (c_test_array[9] > 0) 
   101:         *pVar =  (*pVar + c_test_array[17]) & c_test_array[9]; 
   102:     else 
   103:         *pVar = (*pVar + c_test_array[17]); 
   104:     c_test_array[7] = test_c_code3(10); 
- OUT -output------------------------------------------------------------------- 
C_TEST_ROUTINES\test_c_code3\subrtnCount:       8 
 module name     routine name     line           rel PC           abs PC 
*C_TEST_ROUTINES test_c_code3       93       0000000000000DC0 FFFFFFFF800BAFC0 
*C_TEST_ROUTINES test_c_code3       93       0000000000000DE0 FFFFFFFF800BAFE0 
*C_TEST_ROUTINES test_c_code2      104       0000000000000F40 FFFFFFFF800BB140 
*C_TEST_ROUTINES test_c_code       117       00000000000010B0 FFFFFFFF800BB2B0 
                 XDT$INIT                    00000000000015C0 FFFFFFFF880955C0 
*SYS$DOINIT      EXE$INITIALIZE   1973       0000000000000360 FFFFFFFF88094360 
 SHARE$EXEC_INIT_CODE0                       000000000005C240 FFFFFFFF803BB640 
 SHARE$EXEC_INIT_CODE0                       0000000000057F20 FFFFFFFF803B7320 
 SHARE$EXEC_INIT_CODE0                       0000000000047850 FFFFFFFF803A6C50 
 SHARE$EXEC_INIT_CODE0                       0000000000042E90 FFFFFFFF803A2290 
- PROMPT -error-program-prompt-------------------------------------------------- 
DBG> set break %line 93 
DBG> go 
DBG> Step 
DBG> examine subrtnCount 
DBG> show calls 
DBG> 

In the paragraph immediately preceding Example 11-14, the reference to line 147 should be replaced with line 94, and the reference to line 146 with line 93.

Example 11-14 should be replaced with the following:


- SRC: module C_TEST_ROUTINES -scroll-source------------------------------------ 
    83:     for(k=0;k<1000;k++) 
    84:       { 
    85:          test_c_code5(&i); 
    86:       } 
    87:     return; 
    88: } 
    89: int test_c_code3(int subrtnCount) 
    90: { 
    91:     subrtnCount = subrtnCount - 1; 
    92:     if (subrtnCount != 0) 
    93:         subrtnCount = test_c_code3(subrtnCount); 
->  94:     return subrtnCount; 
    95: } 
    96: int test_c_code2(__int64 in64,int in32, __int64 test, __int64* pVar) 
    97: { 
    98:     c_test_array[5] = in64; 
    99:     c_test_array[6] = in32; 
   100:     if (c_test_array[9] > 0) 
   101:         *pVar =  (*pVar + c_test_array[17]) & c_test_array[9]; 
   102:     else 
   103:         *pVar = (*pVar + c_test_array[17]); 
   104:     c_test_array[7] = test_c_code3(10); 
   105:     c_test_array[3] = test; 
- OUT -output------------------------------------------------------------------- 
 module name     routine name     line           rel PC           abs PC 
*C_TEST_ROUTINES test_c_code3       93       0000000000000DC0 FFFFFFFF800BAFC0 
*C_TEST_ROUTINES test_c_code3       93       0000000000000DE0 FFFFFFFF800BAFE0 
*C_TEST_ROUTINES test_c_code2      104       0000000000000F40 FFFFFFFF800BB140 
*C_TEST_ROUTINES test_c_code       117       00000000000010B0 FFFFFFFF800BB2B0 
                 XDT$INIT                    00000000000015C0 FFFFFFFF880955C0 
*SYS$DOINIT      EXE$INITIALIZE   1973       0000000000000360 FFFFFFFF88094360 
 SHARE$EXEC_INIT_CODE0                       000000000005C240 FFFFFFFF803BB640 
 SHARE$EXEC_INIT_CODE0                       0000000000057F20 FFFFFFFF803B7320 
 SHARE$EXEC_INIT_CODE0                       0000000000047850 FFFFFFFF803A6C50 
 SHARE$EXEC_INIT_CODE0                       0000000000042E90 FFFFFFFF803A2290 
stepped to C_TEST_ROUTINES\test_c_code3\%LINE 94 
- PROMPT -error-program-prompt-------------------------------------------------- 
DBG> Step 
DBG> examine subrtnCount 
DBG> show calls 
DBG> cancel break/all 
DBG> go 
DBG> 

In the STEP/RETURN paragraph preceding Example 11-15, the phrase "on Alpha, or the R8 register on I64" should follow "R0 register".

Example 11-15 should be replaced with the following:


- SRC: module C_TEST_ROUTINES -scroll-source------------------------------------ 
    83:     for(k=0;k<1000;k++) 
    84:       { 
    85:          test_c_code5(&i); 
    86:       } 
    87:     return; 
    88: } 
    89: int test_c_code3(int subrtnCount) 
    90: { 
    91:     subrtnCount = subrtnCount - 1; 
    92:     if (subrtnCount != 0) 
    93:         subrtnCount = test_c_code3(subrtnCount); 
->  94:     return subrtnCount; 
    95: } 
    96: int test_c_code2(__int64 in64,int in32, __int64 test, __int64* pVar) 
    97: { 
    98:     c_test_array[5] = in64; 
    99:     c_test_array[6] = in32; 
   100:     if (c_test_array[9] > 0) 
   101:         *pVar =  (*pVar + c_test_array[17]) & c_test_array[9]; 
   102:     else 
   103:         *pVar = (*pVar + c_test_array[17]); 
   104:     c_test_array[7] = test_c_code3(10); 
   105:     c_test_array[3] = test; 
- OUT -output------------------------------------------------------------------- 
*C_TEST_ROUTINES test_c_code3       93       0000000000000DE0 FFFFFFFF800BAFE0 
*C_TEST_ROUTINES test_c_code2      104       0000000000000F40 FFFFFFFF800BB140 
*C_TEST_ROUTINES test_c_code       117       00000000000010B0 FFFFFFFF800BB2B0 
                 XDT$INIT                    00000000000015C0 FFFFFFFF880955C0 
*SYS$DOINIT      EXE$INITIALIZE   1973       0000000000000360 FFFFFFFF88094360 
 SHARE$EXEC_INIT_CODE0                       000000000005C240 FFFFFFFF803BB640 
 SHARE$EXEC_INIT_CODE0                       0000000000057F20 FFFFFFFF803B7320 
 SHARE$EXEC_INIT_CODE0                       0000000000047850 FFFFFFFF803A6C50 
 SHARE$EXEC_INIT_CODE0                       0000000000042E90 FFFFFFFF803A2290 
stepped to C_TEST_ROUTINES\test_c_code3\%LINE 94 
stepped on return from C_TEST_ROUTINES\test_c_code3\%LINE 94 to C_TEST_ROUTINES - 
\test_c_code3\%LINE 94+17 
C_TEST_ROUTINES\test_c_code3\%R8:       0 
- PROMPT -error-program-prompt-------------------------------------------------- 
DBG> show calls 
DBG> cancel break/all 
DBG> go 
DBG> step/return 
DBG> examine r8 
DBG> 

In the first paragraph preceding Example 11-16, the phrase "for address 80002010" should be removed, and the phrase "this image or module" replaced with "INI$BRK."

The current Example 11-16 should be removed; the current Example 11-17 now becomes Example 11-16 and is replaced by the following:


- SRC: module C_TEST_ROUTINES -scroll-source------------------------------------ 
    83:     for(k=0;k<1000;k++) 
    84:       { 
    85:          test_c_code5(&i); 
    86:       } 
    87:     return; 
    88: } 
    89: int test_c_code3(int subrtnCount) 
    90: { 
    91:     subrtnCount = subrtnCount - 1; 
    92:     if (subrtnCount != 0) 
    93:         subrtnCount = test_c_code3(subrtnCount); 
->  94:     return subrtnCount; 
    95: } 
    96: int test_c_code2(__int64 in64,int in32, __int64 test, __int64* pVar) 
    97: { 
    98:     c_test_array[5] = in64; 
    99:     c_test_array[6] = in32; 
   100:     if (c_test_array[9] > 0) 
   101:         *pVar =  (*pVar + c_test_array[17]) & c_test_array[9]; 
   102:     else 
   103:         *pVar = (*pVar + c_test_array[17]); 
   104:     c_test_array[7] = test_c_code3(10); 
   105:     c_test_array[3] = test; 
- OUT -output------------------------------------------------------------------- 
 SYS$UTC_SERVICES                no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$VM                          no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYS$XFCACHE_MON                 no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYSDEVICE                       no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYSGETSYI                       no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYSLDR_DYN                      no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYSLICENSE                      no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYSTEM_DEBUG                    yes    0000000000000000     FFFFFFFFFFFFFFFF 
 SYSTEM_PRIMITIVES               no     0000000000000000     FFFFFFFFFFFFFFFF 
 SYSTEM_SYNCHRONIZATION          no     0000000000000000     FFFFFFFFFFFFFFFF 
 
 total images: 53 
- PROMPT -error-program-prompt-------------------------------------------------- 
DBG> go 
%DEBUG-I-INIBRK, target system interrupted 
%DEBUG-I-DYNIMGSET, setting image SYS$BASE_IMAGE %DEBUG-W-SCRNOSRCLIN, No source line - 
for address: FFFFFFFF80000310 
DBG> show image 
DBG> go 

4.29.37 OpenVMS Alpha System Dump Debugger

The title to Chapter 12 should now read "OpenVMS System Dump Debugger," and the "Alpha Only" note should be removed.

The first paragraph in Section 12.4 should be replaced with the following:

If SDD cannot find one of the images through this search path, a warning message is displayed. SDD will continue initialization as long as it finds at least two images. If SDD cannot find the SYS$BASE_IMAGE and SYS$PUBLIC_VECTORS files, which are the OpenVMS operating system's main image files, an error message is displayed and the debugger exits.

In Section 12.10, Steps 1 and 2 should be replaced with the following:

  1. 1. Follow the steps in Section 11.12, up to and including Example 11-9 (Using The Set Mode Screen Command).
  2. 2. Enter the following OpenVMS Debugger commands:


    DBG> set break test_c_code5 
    DBG> go 
    DBG> deposit k=0 
    DBG> go 
    

The following new paragraph should immediately precede Example 12-1:

Note that the example displays from Example 12-1 onwards are all taken from an OpenVMS I64 system. On an OpenVMS Alpha system, some of the output is different, but the commands entered are the same on both platforms.

In Example 12-1, the reference to "Alpha" should change to "I64," and "V7.2-019" to "V8.3-003".

Example 12-3 should be replaced with the following:


DBG> Set Mode Screen; Set Step Nosource 
 
- SRC: module C_TEST_ROUTINES -scroll-source------------------------------------ 
    67: 
    68:     /* We want some global data cells */ 
    69: volatile __int64 c_test_array[34]; 
    70: 
    71: void test_c_code5(int *k) 
    72: { 
    73:     int i; 
    74:     char str[100]; 
    75:     for(i=0;i<100;i++) 
    76:       str[i]= 'a'; 
    77:     str[99]=0; 
->  78:     *k = 9; 
    79: } 
    80: void test_c_code4(void) 
    81: { 
    82:     int i,k; 
    83:     for(k=0;k<1000;k++) 
    84:       { 
    85:          test_c_code5(&i); 
    86:       } 
    87:     return; 
    88: } 
    89: int test_c_code3(int subrtnCount) 
- OUT -output------------------------------------------------------------------- 
 
 
 
 
 
 
 
 
 
 
 
 
- PROMPT -error-program-prompt-------------------------------------------------- 
 
 
 
%DEBUG-I-SCRNOTORIGSRC, original version of source file not found for display in SRC 
        file used is SYS$COMMON:[SYSHLP.EXAMPLES]C_TEST_ROUTINES.C;1 
DBG> 

Example 12-4 should be replaced with the following:


- SRC: module C_TEST_ROUTINES -scroll-source------------------------------------ 
    67: 
    68:     /* We want some global data cells */ 
    69: volatile __int64 c_test_array[34]; 
    70: 
    71: void test_c_code5(int *k) 
    72: { 
    73:     int i; 
    74:     char str[100]; 
    75:     for(i=0;i<100;i++) 
    76:       str[i]= 'a'; 
    77:     str[99]=0; 
->  78:     *k = 9; 
    79: } 
    80: void test_c_code4(void) 
    81: { 
    82:     int i,k; 
    83:     for(k=0;k<1000;k++) 
    84:       { 
    85:          test_c_code5(&i); 
    86:       } 
    87:     return; 
    88: } 
    89: int test_c_code3(int subrtnCount) 
- OUT -output------------------------------------------------------------------- 
C_TEST_ROUTINES\test_c_code5\i: 100 
C_TEST_ROUTINES\test_c_code5\k: 0 
 module name     routine name     line           rel PC           abs PC 
*C_TEST_ROUTINES test_c_code5       78       0000000000000CD0 FFFFFFFF800BAED0 
*C_TEST_ROUTINES test_c_code4       85       0000000000000D60 FFFFFFFF800BAF60 
*C_TEST_ROUTINES test_c_code       118       00000000000010D0 FFFFFFFF800BB2D0 
                 XDT$INIT                    00000000000015C0 FFFFFFFF880955C0 
*SYS$DOINIT      EXE$INITIALIZE   1973       0000000000000360 FFFFFFFF88094360 
 SHARE$EXEC_INIT_CODE0                       000000000005C240 FFFFFFFF803BB640 
 SHARE$EXEC_INIT_CODE0                       0000000000057F20 FFFFFFFF803B7320 
 SHARE$EXEC_INIT_CODE0                       0000000000047850 FFFFFFFF803A6C50 
 SHARE$EXEC_INIT_CODE0                       0000000000042E90 FFFFFFFF803A2290 
- PROMPT -error-program-prompt-------------------------------------------------- 
 
%DEBUG-I-SCRNOTORIGSRC, original version of source file not found for display in SRC 
        file used is SYS$COMMON:[SYSHLP.EXAMPLES]C_TEST_ROUTINES.C;1 
DBG> examine i,k 
DBG> show calls 
DBG> 


Previous Next Contents