24小时热门版块排行榜    

查看: 630  |  回复: 3

xirainbow

木虫 (正式写手)

[交流] 【求助】gdb显示“no symble "*"in current context”已有2人参与

我使用gdb模式编译了一个大型计算软件(pwscf)
然后进入gdb模式运行n,s,b等功能,一切正常。
但是当我试图print某个变量时,经常显示“no symble "*"in current context”
(此处*代表某个变量的名称)

我现在按s,然后进入subroutine A,可以查看subroutine A自己定义的变量。但是无法查看subroutine B和module B定义的变量,虽然module B中的变量出现在当前的subroutine A中。
请问,该如何解决?

附:主程序:(主程序调用各个module和subroutine,从输入文件的读取到计算,都由module和subroutine完成的 。只有倒数第五行是调用electrons()进行计算)
PROGRAM pwscf
  USE io_global,        ONLY : stdout, ionode
  USE parameters,       ONLY : ntypx, npk, lmaxx
  USE global_version,   ONLY : version_number
  USE noncollin_module, ONLY : noncolin
  USE control_flags,    ONLY : conv_elec, conv_ions, lpath, lmetadyn, &
                               gamma_only
  USE io_files,         ONLY : nd_nmbr
  USE ions_base,        ONLY : tau
  USE path_variables,   ONLY : conv_path
  USE check_stop,       ONLY : check_stop_init
  USE path_base,        ONLY : initialize_path, search_mep
  USE metadyn_base,     ONLY : metadyn_init
  USE path_io_routines, ONLY : io_path_start, io_path_stop, path_summary
  IMPLICIT NONE
  ! ... local variables
  CHARACTER (LEN=9) :: code = 'PWSCF'
  CALL startup( nd_nmbr, code, version_number )
  IF ( ionode ) THEN
     WRITE(*,*) ntypx, npk, lmaxx
  END IF   
  CALL init_run()
  main_loop: DO
      CALL electrons()
      END DO main_loop
  CALL stop_run( conv_ions )
  END IF      
END PROGRAM pwscf

[ Last edited by xirainbow on 2010-5-3 at 15:01 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

xirainbow(金币+2): 2010-05-03 10:06
你编译的时候有没有加 -g 选项(如果你使有 GCC 那套编译器的话)
2楼2010-05-03 08:51:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xirainbow

木虫 (正式写手)

引用回帖:
Originally posted by snoopyzhao at 2010-05-03 08:51:38:
你编译的时候有没有加 -g 选项(如果你使有 GCC 那套编译器的话)

我是用gfortran编译的串行的程序
使用的是:./configure --disable-parallel FFLAGS="-g" CFLAGS="-g"
3楼2010-05-03 10:07:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xirainbow

木虫 (正式写手)

余泽成:这几天是假期,请耐心等待! 2010-05-03 14:48
“jjdg:会不会是因为变量定义的问题? 2010-05-03 01:18”
变量都是定义在module和subroutine中的,
主程序(program main)中没有定义变量。
如果是这个原因,该怎么解决呢?
谢谢啦;)
4楼2010-05-03 10:10:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xirainbow 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见