[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
Title: | DEC BASIC Conference |
Notice: | SSB Kit Now available - Note 2.29 |
Moderator: | TLE::HAYNES |
|
Created: | Wed Sep 15 1993 |
Last Modified: | Thu Jun 05 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 210 |
Total number of notes: | 976 |
202.0. "AXP Debuger can't examine dynamic string arrays ..." by BACHUS::SABLON (Mich�le Sablon, TP/IM Support Belgium 856-7238) Thu Mar 06 1997 07:53
OpenVMS AXP 7.1
Basic 1.2-000
I'm not sure if this is a debugger or a BASIC problem.
The little program below can be use to reproduce the strange behaviour
of the OpenVMS AXP debugger. While an examine of a dynamic array is
performed, one receive the error message:
%DEBUG-E-NOSYMBOL, symbol '...' is not in the symbol table.
* This problem only occurs on the AXP. It doesn't on the VAX (OpenVMS
V6.2). I made the test with OpenVMS AXP V7.1 but the customer that found
the problem is in V6.2.
* It only occurs with dynamic string arrays, i.e. arrays defined using the
DIMENSION STRING statement, using variables as dimension specification:
DECLARE INTERGER a%
a% = 5%
DIMENSION STRING array( a% )
* It doesn't occur if the dynamic arrays are of numerical type (integer
and real tested) or if the dimensions are specified using CONSTANTs.
Do I need to escalate the problem ? Best,
Mich�le Sablon.
=====
$CREATE y.bas
1 DECLARE INTEGER a%, b%, c%, d%, e%
! The below syntax would work:
!1 DECLARE INTEGER CONSTANT a% = 5%
!2 DECLARE INTEGER CONSTANT b% = 2%
!3 DECLARE INTEGER CONSTANT c% = 3%
!4 DECLARE INTEGER CONSTANT d% = 7%
!5 DECLARE INTEGER CONSTANT e% = 6%
6 a% = 5%
7 b% = 2%
8 c% = 3%
9 d% = 7%
10 e% = 6%
100 DIMENSION STRING x1(a%)
110 DIMENSION STRING x2(a%, b%)
120 DIMENSION REAL y1(a%, b%, c%)
130 DIMENSION INTEGER y2(a%, b%, c%, d%)
1000 z% = 0%
FOR i% = 1% TO a% STEP 1%
FOR j% = 1% TO b% STEP 1%
FOR k% = 1% TO c% STEP 1%
FOR l% = 1% TO d% STEP 1%
y2( i%,j%,k%,l% ) = z%
z% = z% + 1
NEXT l%
y1( i%,j%,k% ) = z% * 1.1
NEXT k%
x2( i%,j% ) = chr$( z% )
NEXT j%
x1( i% ) = chr$( z% )
NEXT i%
5000 FOR i% = 1% TO a% STEP 1%
PRINT x1(i%)
NEXT i%
32767 END PROGRAM 1
$ BASIC/NOOPT/DEBUG y
$ LINK/DEBUG y
$ RUN/NODEBUG y
*
T
~
�
�
$ RUN/DEBUG y
DBG> set br %li 20
DBG> go
DBG> exa x1
%DEBUG-E-NOSYMBOL, symbol 'X1' is not in the symbol table
DBG> exa x2
%DEBUG-E-NOSYMBOL, symbol 'X2' is not in the symbol table
DBG> exa y1
Y$MAIN\Y1(0:5,0:2,0:3)
(0,0,0): 0.0000000
(0,0,1): 0.0000000
...
DBG> exa y2
Y$MAIN\Y2(0:5,0:2,0:3,0:7)
(0,0,0,0): 0
(0,0,0,1): 0
...
DBG>go
*
T
~
�
�
%DEBUG-I-EXITSTATUS, is '%SYSTEM-S-NORMAL, normal successful completion'
DBG> exa x1
%DEBUG-E-NOSYMBOL, symbol 'X1' is not in the symbol table
DBG> exa y1
%DEBUG-W-SYMNOTACT, non-static variable 'Y$MAIN\Y1' is not active
T.R | Title | User | Personal Name | Date | Lines
|
---|