Visual studio Debug.evaluation测试陈述Microsoft Visual Studio
我正在使用英特尔Fortran和Microsoft Visual Studio 2012。在调试模式下,断点位于以下虚拟程序的第21行: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
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,类型变为“未定义地址”,在官方支持论坛上讨论