Visual studio Debug.evaluation测试陈述Microsoft Visual Studio

Visual studio Debug.evaluation测试陈述Microsoft Visual Studio,visual-studio,visual-studio-2012,fortran,intel-fortran,Visual Studio,Visual Studio 2012,Fortran,Intel Fortran,我正在使用英特尔Fortran和Microsoft Visual Studio 2012。在调试模式下,断点位于以下虚拟程序的第21行: program hello implicit none integer, dimension(2,2) :: Array type Test integer :: a integer :: b integer :: c end type Test integer::i

我正在使用英特尔Fortran和Microsoft Visual Studio 2012。在调试模式下,断点位于以下虚拟程序的第21行:

program hello
    implicit none
    integer, dimension(2,2) :: Array
    type Test
        integer :: a
        integer :: b
        integer :: c
    end type Test
    integer::i


    type (Test) :: TestVariable
    i=1
    Array(1,1) = 22
    Array(1,2) = 2
    Array(2,1) = 22
    Array(2,2) = 25
    TestVariable%a = 1
    TestVariable%b = 2
    TestVariable%c = 3
    print *, Array(1,1)
    print *, Array(2,2)
    print *, TestVariable%b
    print *, ubound(Array)

end program Hello
在第21行(我的断点),变量
i
已定义并可从“局部变量”窗口访问。也可以使用以下命令从命令窗口访问它:

Debug.Print i
现在我要探讨的是Debug.evaluateTestItem的功能

Debug.evaluateTestItem i
返回1,它应该返回1

Debug.evaluateTestItem i+i
返回2,这是它应该返回的

Debug.evaluateTestItem 1
按其应有的方式返回1

Debug.evaluateTestItem 1+1返回2
,这是它应该返回的

Debug.evaluateTestItem i+1
但是会引发以下错误:

Undefined address

为什么会发生此错误?我可以做些什么来防止它并获得2的(我认为正确的)值?

在“监视”窗口中尝试这些表达式时会发生什么?类似的事情。变量图标变为红色,带白色x,类型变为“未定义地址”,在官方支持论坛上讨论