Problem in debugging allocatable arrays in MVS 2012

Problem in debugging allocatable arrays in MVS 2012

Portrait de Arash R.

Hi,
According to Intel® Parallel Studio XE 2013 for Windows* Installation Guide and Release Notes, there was a problem in evaluating expressions during debugging Fortran applications in Microsoft Visual Studio 2012. After updating to Intel® Parallel Studio XE 2013 for Windows* Update 1, this problem solved but new problem occurs during debugging.
Allocatable user defined arrays contents can't be shown in debugging mode. Watch list value for scalar intrinsic contents of these UDTs (like scalar integers, or reals) is undefined address and nested UDTs can not be collapsed.
I attached a screenshot where shows this problem. As you can see, ELEMENT_NUMBER where is a scalar integer has undefined address and other nested allocatable arrays like INTERNAL_NEIGHBORS where is a allocatable integer array can not be collapsed and consequently its contents can not be shown.
Is there a fix for this problem (except using MVS 2010), or i have to wait for next update pack?
Regards
Arash

Fichier attachéTaille
Téléchargement watch-list.jpg442.06 Ko
10 posts / 0 nouveau(x)
Dernière contribution
Reportez-vous à notre Notice d'optimisation pour plus d'informations sur les choix et l'optimisation des performances dans les produits logiciels Intel.
Portrait de Arash R.

No idea?

Portrait de bernth-andersson (Intel)

Hi Arash,

This sounds like a bug but before we can confirm this would it be possible to provide a small test case which reproduce the problem you experience? This would speed up our investigations.

Best Regards,
Bernth

Portrait de Arash R.

Sure.
Following test case produce such a result for me. i use Microsoft Visual Studio 2012(11.0.50727.1) with Intel Parallel Studio 2013 XE(2013.1.119).

module module_test
integer, parameter :: wp = kind(1.0d0)

type :: type_node_2d
integer :: node_number
integer :: local_number
real(wp) :: x=0._wp,y=0._wp
end type type_node_2d

type,abstract :: type_element_base
integer :: element_number=10
real(wp) :: volume
logical :: flag=.false. ! logical flag
type(type_node_2d),allocatable :: nodes(:)
integer :: number_of_boundaries=5
integer :: number_of_interfaces=5
integer,allocatable :: internal_neighbors(:)
end type type_element_base
!-------------------------------------------------------------------------------------
type :: type_element_container
class(type_element_base),allocatable :: element
end type type_element_container
!--------------------------------------------------------------------------------------
type,extends(type_element_base) :: type_element_triangle
end type
!---------------------------------------
type,extends(type_element_base) :: type_element_quadritaeral
end type
end module module_test
!------------------------------------------------------------------------------------
program test
use module_test
type(type_element_container),allocatable :: elements(:)
! body
allocate(elements(10))
do i=1,5
allocate(type_element_triangle :: elements(i).element)
allocate(elements(i).element.internal_neighbors(3))
end do
do i=6,10
allocate(type_element_quadritaeral :: elements(i).element)
allocate(elements(i).element.internal_neighbors(4))
end do
end
Best Regards,
Arash

Portrait de osrondon

Arash,

I have been having the same problem since I reported it back in February 2012.

The debugger is seeing arrays as not being allocated when they are actually allocated and being used in the program. I am still having the same issue so it all looks it has not been fixed yet.

Portrait de Arash R.

I hope they fix this issue soon.

Portrait de Steve Lionel (Intel)

Arash, I tried your program with Intel Fortran 13.0.1 and VS20210 and I can see the values of the nested allocatable arrays in the debugger. What are you seeing?

Steve
Portrait de Arash R.

Hi Steve,
Thank you for your responding. As i mentioned in first post, the problem is within MVS 2012 not 2010.

Portrait de Steve Lionel (Intel)

Sorry for missing that.

Steve
Portrait de bernth-andersson (Intel)

Hi Arash,

Thank you for the test case. Yes this is a bug and engineering has implemented a fix which we expect to be included in the next update.

Regards,
Bernth

Connectez-vous pour laisser un commentaire.