I have a Fortran test driver which calls a function in a DLL. The DLL is built as a C++ project. The C++ project links an Intel Fortran built LIB of various Fortran subroutines, together with C++ code which contains C++ interfaces to the Fortran functions. These are for our various C++ / C# GUIs to call. However I do my testing on these LIB functions with my Fortran driver. The problem is I am getting invalid debug information for the arrays. All projects have Debug:Full set. Here is what the Watch window looks like:
Fmid_ds #101B2108 PROCEDURE BlackOilData #0044C34C PROCEDURE Weight_fact_data_ Invalid Debug Information Expt_data_ Invalid Debug Information + Ierr {...} REAL(8) All the above top 4 variables are arrays, and in fact the last, Ierr, is a scalar integer.
The code seems to work fine, but the debug information is not there. In the Output window I see:
'ViscCorrelations.exe': Loaded 'D:\Tech\Tests\Drivers\DLLHTest\Debug\ViscCorrelations.exe', Symbols loaded.
'ViscCorrelations.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file
'ViscCorrelations.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file
'ViscCorrelations.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file
'ViscCorrelations.exe': Loaded 'D:\Tech\Dev\TechRefactoring\bin\Debug\ViscTune.dll', Symbols loaded.
'ViscCorrelations.exe': Loaded 'C:\Windows\SysWOW64\imagehlp.dll', Cannot find or open the PDB file
'ViscCorrelations.exe': Loaded 'C:\Windows\SysWOW64\msvcrt.dll', Cannot find or open the PDB file
'ViscCorrelations.exe': Loaded 'C:\Windows\SysWOW64\advapi32.dll', Cannot find or open the PDB file
'ViscCorrelations.exe': Loaded 'C:\Windows\SysWOW64\sechost.dll', Cannot find or open the PDB file
'ViscCorrelations.exe': Loaded 'C:\Windows\SysWOW64\rpcrt4.dll', Cannot find or open the PDB file
'ViscCorrelations.exe': Loaded 'C:\Windows\SysWOW64\sspicli.dll', Cannot find or open the PDB file
'ViscCorrelations.exe': Loaded 'C:\Windows\SysWOW64\cryptbase.dll', Cannot find or open the PDB file
'ViscCorrelations.exe': Loaded 'C:\Program Files (x86)\Intel\Composer XE 2013 SP1\redist\ia32\compiler\libifcoremdd.dll', Binary was not built with debug information.
'ViscCorrelations.exe': Loaded 'C:\Program Files (x86)\Intel\Composer XE 2013 SP1\redist\ia32\compiler\libmmd.dll', Symbols loaded (source information stripped).
'ViscCorrelations.exe': Loaded 'C:\Windows\SysWOW64\msvcr100d.dll', Symbols loaded.
So it finds the PDB OK.
I get the same problem if I call the C++ interface function or the Fortran function directly.
Any idea?
Adrian