- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can somebody tell me why i can compile & run the same code with debug win32, debug x64, and release x64, but give me the run time error with release win32 version even i can pass the compiler? I am using Intel parallel studio 2015.
Janice
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please show us the full and complete text of the error message, and if possible, a small but complete test case that shows the error.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There certainly are possibilities for this to happen, but without information from you it's not worth speculating.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks, Steve & Tim:
I am new to Visual Studio IDE. When i ran the program inside the Visual Studio in release Win32 mode, it popped out a "No Debugging Information" window saying "Debugging information for "HTRMODEL.exe" cannot be found or does not match. Binary was not built with debug information. Do you want to continue debugging?" I click the "yes" button, looks like running in debug mode. I have some interactive inputs during the run. On the Dos run window, it shows "forrl: severe <157>: program exception - access violation" error with a list of error place (although it all shows "unknown" on the routine, line and source entry). While on the Visual Studio output window, these are the outputs:
'HTRMODEL.exe' (Win32): Loaded 'C:\Users\DQ01\Documents\PYPS_new\IntelFortran\HTRMODEL\Release\HTRMODEL.exe'. Module was built without symbols.
'HTRMODEL.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Symbols loaded.
'HTRMODEL.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Symbols loaded.
'HTRMODEL.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Symbols loaded.
'HTRMODEL.exe' (Win32): Loaded 'C:\Windows\SysWOW64\libifcoremd.dll'. Cannot find or open the PDB file.
'HTRMODEL.exe' (Win32): Loaded 'C:\Windows\SysWOW64\libmmd.dll'. Cannot find or open the PDB file.
'HTRMODEL.exe' (Win32): Loaded 'C:\Windows\SysWOW64\imagehlp.dll'. Symbols loaded.
'HTRMODEL.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Symbols loaded.
'HTRMODEL.exe' (Win32): Loaded 'C:\Windows\SysWOW64\advapi32.dll'. Symbols loaded.
'HTRMODEL.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'. Symbols loaded.
'HTRMODEL.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rpcrt4.dll'. Symbols loaded.
'HTRMODEL.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sspicli.dll'. Symbols loaded.
'HTRMODEL.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptbase.dll'. Symbols loaded.
'HTRMODEL.exe' (Win32): Loaded 'C:\Windows\SysWOW64\libifportmd.dll'. Cannot find or open the PDB file.
'HTRMODEL.exe' (Win32): Loaded 'C:\Windows\SysWOW64\user32.dll'. Symbols loaded.
'HTRMODEL.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32.dll'. Symbols loaded.
'HTRMODEL.exe' (Win32): Loaded 'C:\Windows\SysWOW64\lpk.dll'. Symbols loaded.
'HTRMODEL.exe' (Win32): Loaded 'C:\Windows\SysWOW64\usp10.dll'. Symbols loaded.
'HTRMODEL.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcr120.dll'. Symbols loaded.
'HTRMODEL.exe' (Win32): Loaded 'C:\Windows\SysWOW64\imm32.dll'. Symbols loaded.
'HTRMODEL.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msctf.dll'. Symbols loaded.
First-chance exception at 0x00B06F11 in HTRMODEL.exe: 0xC0000005: Access violation writing location 0x02607000.
'HTRMODEL.exe' (Win32): Loaded 'C:\Program Files (x86)\Intel\Composer XE 2015\redist\ia32\compiler\1033\ifcore_msg.dll'. Module was built without symbols.
'HTRMODEL.exe' (Win32): Loaded 'C:\Program Files (x86)\Intel\Composer XE 2015\redist\ia32\compiler\1033\irc_msg.dll'. Module was built without symbols.
'HTRMODEL.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dbghelp.dll'. Symbols loaded.
Unhandled exception at 0x00B06F11 in HTRMODEL.exe: 0xC0000005: Access violation writing location 0x02607000.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok. When you want to run a release configuration, use "Start without debugging" (CTRL+F5).
The error is access violation. It is often the case that coding errors show up in a release configuration due to optimization. The first thing I would do is set Fortran > Run-Time > Generate Traceback Information to Yes. Then when you run the program again you'll be told where the error occurred, which will give you a clue. (Telling us where it is won't help us help you because you haven't shown the code.)
Unfortunately, release-only errors can be difficult to diagnose.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In addition to the traceback information, it may also help to add output from your program to a debugging text file so that you can get information from your program while running as a Release version. You could set up the text debug log file something like this, so that you can turn the logical variable "debugFlag" on and off as needed:
! set the flag, file unit, and debugging file name debugFlag = .TRUE. ! T=write debugging information, F=debugging information not written debugUnit = 99 debugFile = 'debug_info.txt' ! open the debug file the first time with status='unknown' if(debugFlag)then open(unit=debugUnit,file=debugFile,status='unknown') write(debugUnit,*) write(debugUnit,*)'example of your message or information here' write(debugUnit,*)' x_variable =',x_variable write(debugUnit,*)' y_variable =',y_variable close(unit=debugUnit) end if ! to append more information to the debug file open with position='append' if(debugFlag)then open(unit=debugUnit,file=debugFile,position='append') write(debugUnit,*) write(debugUnit,*)'example of the next output to check the variables' write(debugUnit,*)' x_variable =',x_variable write(debugUnit,*)' y_variable =',y_variable close(unit=debugUnit) end if
Perhaps put the debugging output before and after the crash location indicated by traceback to check on variables during run-time.
Regards,
Greg
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In addition to turning on Traceback info, as Steve suggested, I would select Fortran > Run-time > Runtime Error Checking > All. Do you know how to access these compiler options? Regarding writing out debugging info as the program runs, it is easier and often sufficient to simply use
write(*,*) 'x = ',x
to write to the console.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have enabled "Generate Traceback Information" to Yes. These are the output of the run. Can you tell me which subroutine has problem?
The thing puzzling me is that, it is the identical source code, why it works for debug win32/64 as well as release 64. It only does not work for release win32. To me, the code itself should not have any problems.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Line 114 in CALC_CONVEC_BANK. That you don't see problems in other configurations doesn't mean anything
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page