forums.silverfrost.com Forum Index forums.silverfrost.com
Welcome to the Silverfrost forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

SDBG64 does not allow setting breakpoint

 
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> 64-bit
View previous topic :: View next topic  
Author Message
mecej4



Joined: 31 Oct 2006
Posts: 739

PostPosted: Mon Sep 05, 2016 3:23 pm    Post subject: SDBG64 does not allow setting breakpoint Reply with quote

The program given below works normally, and can be run under SDBG as usual in 32-bit mode.

If the program is compiled for 64-bit and run under SDBG64, attempting to set a breakpoint on Line-57 (the SELECT statement) causes a message to be put up stating that the line in question cannot be used as a breakpoint.

Code:

    module globdata
      implicit none
      character (len=8) :: dsname
      integer :: n_obs = 6, n_par = 2, n_nlin = 1, n_lin = 1
      integer :: nf, lind, seqno = 2
      double precision :: t(6) = (/ 1d0, 2d0, 3d0, 5d0, 7d0, 10d0 /)
      double precision :: yd(6) = (/ 109d0, 149d0, 149d0, 191d0, 213d0, 224d0 /)
      double precision :: s1(2) = (/ 1d0, 1d0 /), alf(1), bet(1)
      integer :: ind(2, 1), nlid(1)
      logical :: islin(2)
      double precision :: rss, rsd
    end module globdata

    subroutine get_ind()
      use globdata
      implicit none
      integer :: i0ind(2) = (/ 1, 0 /)
!
      seqno = 2
      n_nlin = 1
      n_lin = 1
      lind = n_lin + 1
      ind = transpose(reshape(i0ind,(/n_nlin,lind/)))
      nlid = (/ 2 /)
      islin(1:n_par)=.true.
      islin(nlid) = .false.
      return
    end subroutine get_ind

    program xdnlsfu
      use globdata
      implicit none
      integer liv, nzero, bterm, jlen, lv
      integer, allocatable :: iv(:)
      double precision, allocatable :: v(:), phi(:,:)
!
      call get_ind()
      nzero = count(ind==1)
      alf = s1(nlid)
      bterm = n_lin*(n_lin+3)/2
      jlen = (n_lin+n_nlin)*(n_obs+n_lin+n_nlin+1)
      liv = 122 + 2*nzero + 4*n_nlin + 2*n_lin + max(n_lin+1, 6*n_nlin)
      lv = 105 + 2*n_obs*(n_lin+3) + jlen + bterm + n_nlin*(2*n_nlin+18)
      allocate (iv(liv), v(lv), phi(n_obs,n_lin+1))
      call fitfun(n_obs, n_nlin, n_lin, alf, phi)
      deallocate (iv, v, phi)
!
    end program xdnlsfu
!
    subroutine fitfun(n_obs, n_nlin, n_lin, alf, phi)
      use globdata, only: seqno, t
      implicit none
      integer n_nlin, n_lin, n_obs
      double precision :: phi(n_obs, n_lin+1), alf(n_nlin)
      double precision, parameter :: pi = 3.1415926535897932d0
!
      select case (seqno)   ! <<=== problem line
      case (1) ! Bennett5
        phi(:, 1) = (t+alf(1))**(-1/alf(2))
      case (2) ! BoxBOD
        phi(:, 1) = 1 - exp(-alf(1)*t)
      case (3, 4) ! Chwirut1,2
        phi(:, 1) = exp(-alf(1)*t)/(alf(2)+alf(3)*t)
      end select
      return
    end subroutine fitfun
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> 64-bit All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group