Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
29285 Discussions

debugger access to vars from release build exe

martymike
Novice
657 Views
I have a dll that is dynamically loaded by an executable. In the development environment there is no problems. The issues arises after installation. The reason that the dll is dynamically loaded is because users may supply their own functions. In that situation, the user is running a release version of the executable, i.e. with no debugging info. They'd like to debug their own code. They can, of course, but it appears that they cannot see imported variables, i.e. modules or common blocks (we have both) that are referenced in their code that are imported from the installed executable (really, from other dll's installed with the exectuable). Should this be possible?
0 Kudos
5 Replies
Martyn_C_Intel
Employee
657 Views

I don't think so, if the other code/dll's were compiled without debug symbols.

For debugging, could users simply copy the imported variables of interest into local copies? These would be compiled with symbols and would be visible to the debugger.

0 Kudos
martymike
Novice
657 Views

Sure they could, and that is clearly one possibility. I'm just trying to find out if I've missed anything, i.e. is there a way to see these variables directly?

If they are developing code and anticipate a problem, then making local copies of interesting values is probably not a big deal. But, if they have a run-timeerror in their code thenthey may have to recreate the error to see important values, and perhaps repeatedly if they don't anticipate the logic issues well.

The users that I am dealing with are engineers, not professional programmers.

0 Kudos
Steven_L_Intel1
Employee
657 Views
I know that I have stepped into dynamically loaded DLLs with debug information. You'd have to actually step into it - there's no way I know of to set a breakpoint or examine variables when not inside the DLL. Perhaps try a call to DebugBreak from inside the DLL?
0 Kudos
martymike
Novice
657 Views

That's not the problem. I can step into the code (actually you *can* set a breakpoint in the DLL before it is loaded - in older versions of Visual Studio you could not - it's marked disabled until the DLL gets loaded, but Studio 2008 seems to recognize when the DLL is loaded and reenables it; clever).

The problem is that in that DLL, which, again I can step into and examine local variables with no problem, there are modules that import variables that are exported from other DLL's that are not built for debug. It doesn't appear that you can see those values.

I can accept that it may not be possible. I'm just trying to find out if someone knows for sure in case I simply missed finding a way to do this.

0 Kudos
Steven_L_Intel1
Employee
657 Views
If the module variables are in DLLs not built with debug info, then no, you can't view them in the debugger.
0 Kudos
Reply