Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29253 Discussions

IVF debugger expressions - missing help?

longden_loo
Beginner
536 Views
I tried to add a condition in the "Breakpoint Condition" box and wondered about the allowed syntax, so I clicked "help" and another box with a link to "Expressions in the Debugger", and clicking that got me to what appears to be an incomplete doc:
=================================

This section describes the syntax you can use when entering expressions in the debugger. It is divided into the following parts:

See Also

Debugging | QuickWatch | Watch Window | Autos Window | Local Window | This Window

0 Kudos
4 Replies
joanbuchanan
Beginner
536 Views

The help you are referring to appears to beMicrosoft-supplied help and not Intel Fortran help. When I mouse over the links at the bottom ofyour message, I see MS help topics being referenced.

Unfortunately, there does not seem to be a way to insert Intel Fortran content here.

0 Kudos
Steven_L_Intel1
Employee
536 Views
Adding to what Joan said, look in the Building Applications manual section on using the debugger for information on syntax. In most cases, normal Fortran expression syntax is understood.
0 Kudos
jim_dempsey
Beginner
536 Views

The problem with conditions in break points is that the integration of IVF to VS .NET 2003 Debugger does not provide FORTRAN expressions. Which unfortunately means it is hard to insert a simple condition such as break on memory change. The hack I use to overcome this is to open a Memory window (for some reason Memory accepts Fortran address expressions) and insert the Fortran expression for the address "pFoo.pNode.entry(I)" and the memory window will convert that to a hex address "0x0012ABC9". Then I copy the "0012ABC9" (sans "0x")into the clipboard and then open the Edit Breakpoints and Add | Data then paste the address "0012ABC9" then append "h" to produce "0012ABC9h". You may also have to select C++ expressions. This does set the break on memory change.

As for extending the expression to (iVar .eq. 1234) you may have to do a similar hack to get the address of iVar in the Memory window then construct a C++ expression ((dword*)0012ABC9 == 1234). I haven't tried this but this is my best guess.

Jim Dempsey

0 Kudos
Steven_L_Intel1
Employee
536 Views
Odd - that hasn't been my experience. I'll try some tests.
0 Kudos
Reply