24小时热门版块排行榜    

查看: 632  |  回复: 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 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见