Debugging in VS2012

Debugging in VS2012

Is there some resource that explains how debugging works in VS2012 when using IVF (latest version)?  It seems like with every new version of VS it gets harder to use the debugger.  One thing we do a lot is to set breakpoints using conditionals.  But inVS2012 it appears that you can only use variables that are actually used within a subroutine to set a conditional. Even a variable defined in a module that is used within the subroutine is not available as a local.  Is this a behavior we have some control over?  Can we make all USE variables available?  It is most often the case the variables we like to use for conditionals are not used in the routine where we want to break. 

Or is there a better debugger to use than the one in VS? 

Is VS2013 better?

Dave

6 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Dave,

You need to specify module variables as follows

module_name::variable_name (since it is possible to have the same variable name used in different independent modules)

I am sure you know this but just in case : It is not possible to refer to variables which are local to other subroutines. For example if you have a conditional breakpoint k==1, which "k" should the compiler look for if it occurs in multiple subroutines as a loop index?

You can break when the contents of some memory address have changed. You would need to get the address of the variable you are interested in LOC(variable). Not sure if this would help you in your problem.

Les

Perhaps the simplest solution for your debugging is to add a reference (perhaps in code that is never executed) to the module variables you want to use in the debugger.

Steve - Intel Developer Support

Thanks Les that is a very helpful tip to use module_name::. 

Steve - we don't really know in advance what we will need to key on, so adding names isn't practial until the situation arises, and that seems silly. 

Steve - Is there current documentation for the debugger.  google searches found out of date manuals at other locations, but nothing readable at intel.com.  Looking in the Help section I sort of hoped to find one in the table of contents.  But couldn't find anything.  Aren't we using IDB?  Is there some current documentation for it?

No, you're not using IDB - never have (unless you started IDB independently in past versions.) You're using the Visual Studio debugger with an Intel-provided Fortran Expression Evaluator. All of the debugger features are Microsoft's - we just make it talk Fortran. Our documentation on the debugger is here.

Steve - Intel Developer Support

Thanks Steve! Got it now.

Leave a Comment

Please sign in to add a comment. Not a member? Join today