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

Conditional Breakpoint

Michael_M_8
Beginner
873 Views

Hello,

i have a question related to conditional breakpoints. Im using Microsoft Visual Studio 2010 and Intel(R) Visual Fortran Compiler Professional 11.1.067 for my Fortran Project.

I'm aware that conditional breakpoints decrease the performance, but i'm not sure if a drop from 25% to 2-3% cpuload to be expected. I wonder which strategy is used.

1. Code injection would be to complicated

2. A hardware triggerroutine which is called every time the breakpoint is reached. The routine contains the condition and calls the debugger only if the condition is fullfilled.

3. A hardware trigger calls the debugger and the condition is evaluated every time. if the conditional is fullfilled the execution is stopped.

I would expect strategy 2, rather it seems to be 3. Is there a mistake in my thinking process? Are there other alternative debuggers with strategy 2, if 3 is actually used.

Thank you in advance.

0 Kudos
4 Replies
Steven_L_Intel1
Employee
873 Views

I am pretty sure option 3 is indeed what is used. You can simulate option 2 by adding your own test, for example:

...
use kernel32
...
if (condition) call DebugBreak
...

 

0 Kudos
Michael_M_8
Beginner
873 Views

Thank you for your advice.

i thought so. Simulation option 2 requires a recompile every time, which is unpleasant especially for larger projects. But i guess there are no other options.

Are there other debuggers available for windows with option 2 support, which you can recommend?

0 Kudos
Steven_L_Intel1
Employee
873 Views

I am not aware of any that also support Intel Fortran. And in general, every debugger I know of that has conditional breakpoints does it the same way.

0 Kudos
Michael_M_8
Beginner
873 Views

Thank you for your help.

0 Kudos
Reply