[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::decladebug

Title:Digital Ladebug debugger
Moderator:TLE::LUCIA
Created:Fri Feb 28 1992
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:969
Total number of notes:3959

934.0. "strange behavior" by RTOMS::PARETIJ () Fri Apr 25 1997 10:31

unix 4.0b, fortran 4.1

As reported in 914 my session has also "exited unexpectedly "
when touching the interrupt button

Second, I can't trace a variable, e.g. a(1,1)
w/o getting an awful lot of "can't insert a breakpoint at address <exaaddre> "
may be because it can't access the dxml source code ? -see below -

third (this is the biggest stumbling block IMHO ... )
i can't issue a "where" as in good old dbx without getting apparently all the
matrix values that are passed in param list )

       do i=0,nx
           A(i,ny+0)=2.0*ny*Re_(i,ny/2)
           A(i,ny+1)=0.0
        enddo
c        call dfft_grp( 'c','r','b',A,A,ny,nx+1,nx+1,1,1 )
c234567890c234567890c234567890c234567890c234567890c234567890c234567890
      call dfft_apply_grp('c','r','b',a,a,nx+1,nx+1,
     &    FFT_STRUCTURE_CE,1,1)
        do j=0,ny-1
           A(0,j ) = A(0,j )*DSQRT( 2.0D0 )
           A(nx,j) = A(nx,j)*DSQRT( 2.0D0 )
c           call dfct( 'f',A(0,j),A(0,j),nx,1,1 )
      call dfct_apply('f',A(0,j),A(0,j),D_FCT_STRUCTURE,1)
           A(0,j ) = A(0,j )*DSQRT( 2.0D0 )
           A(nx,j) = A(nx,j)*DSQRT( 2.0D0 )
        enddo
T.RTitleUserPersonal
Name
DateLines
934.1'where' command and arrays is fixedTLE::LUCIAhttp://asaab.zko.dec.com/~lucia/biography.htmlFri Apr 25 1997 12:1865
    What version of ladebug are you using?  The more recent versions
    (at least 4.0-30 and later) supress the long output of arrays during
    the 'where' command, i.e.:
    
    [2] stopped at [foo2:37 0x120002888]
         37 print *,b2(1,1,1),"...",b2(i,3,k)
    (ladebug) t
    >0  0x120002888 in foo2(B2=(...)) c_adjarray001.f90:37
    #1  0x1200025ec in c_adjarray001$main() c_adjarray001.f90:22
    #2  0x1200017cc in main(0x1, 0x20000000, 0x1200016f0, 0x120001660,
    0x3ff00000000, 0x0) for_main.c:192
    (ladebug) whatis B2
    integer*4 B2(1:2,1:3,1:4)
    
    See that scope 0 above shows B2 as "(...)".
    
    Older versions, such  as 4.0-26, show the complete B2 array, i.e.
    
    Welcome to the Ladebug Debugger Version 4.0-26
    ------------------ 
    object file name: c_adjarray001 
    Reading symbolic information ...done
    (ladebug) stop in foo2
    [#1: stop in subroutine foo2(integer*4 (:,:,:)) ]
    (ladebug) run
               1 ...          24
    [1] stopped at [foo2:37 0x120002888]
         37 print *,b2(1,1,1),"...",b2(i,3,k)
    (ladebug) where
    >0  0x120002888 in foo2(B2=(1,1,1) 25
    (2,1,1) 26
    (1,2,1) 27
    (2,2,1) 28
    (1,3,1) 29
    (2,3,1) 30
    (1,1,2) 31
    (2,1,2) 32
    (1,2,2) 33
    (2,2,2) 34
    (1,3,2) 35
    (2,3,2) 36
    (1,1,3) 37
    (2,1,3) 38
    (1,2,3) 39
    (2,2,3) 40
    (1,3,3) 41
    (2,3,3) 42
    (1,1,4) 43
    (2,1,4) 44
    (1,2,4) 45
    (2,2,4) 46
    (1,3,4) 47
    (2,3,4) 48
    ) c_adjarray001.f90:37
    #1  0x1200025ec in c_adjarray001$main() c_adjarray001.f90:22
    #2  0x1200017cc in main(0x1, 0x20000000, 0x1200016f0, 0x120001660,
    0x3ff00000000, 0x0) for_main.c:192
    (ladebug) 
    
    Can you point me at a binary and the exact steps to reproduce the first
    two problems?
    
    Tim Lucia
    Ladebug
    
934.2RTOMS::PARETIJFri Apr 25 1997 14:005
Hi Tim,

I 'll send you the access info offline
Thanks for your help,
/Joseph
934.3(also sent via mail)TLE::LUCIAhttp://asaab.zko.dec.com/~lucia/biography.htmlFri Apr 25 1997 14:2539
    Joseph,
    
    The 'where' problem you have described is certainly fixed in 4.0-30 and
    later.  Please get the newest kit from the ladebug web page.
    
    As for 'trace a(1,1)', at line 76, the dimensions of 'a' are not yet
    filled in, so the debugger has trouble.  Stepping over the line with
    the declaration allows the compiled code to set up the array correctly
    and the 'trace a(1,1)' expression works at this point:
    
    (ladebug) b "fft.f":89
    [#3: stop at "fft.f":89 ]
    (ladebug) c
    [2] stopped at [fftse:76 0x120007154]	
         76 	real*8 A(0:nx,0:ny+1),Re_(0:nx,0:ny),Im_(0:nx,0:ny)
    (ladebug) trace a(1,1)
    Error: No value for tracee expression a(1, 1)
    Warning: Breakpoint not set
    (ladebug) print a(1,1)
    Error: no value for a(1, 1)
    (ladebug) whatis a
    real*8 a(0:4831834544,0:129)
    (ladebug) n
    stopped at [fftse:80 0x120007218]	
         80 	if(isign.eq.1)then
    (ladebug) whatis a
    real*8 a(0:128,0:129)
    (ladebug) trace a(1,1)
    [#4: trace a(1, 1) ]
    (ladebug) 
    
    I cannot reproduce the "debugger has exited unexpectedly" error. 
    Again, please upgrade to 4.0-35 and see if this does not clear up all
    your problems.
    
    Regards,
    Tim