Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Comunicados
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.

Breakpoints Ignored

Jacqueline_N_
Principiante
1.077 Visualizações

I am having a problem when I try to test my fortran dll within the Visual Studio 2013 debugger.  My exe calls the dll, and the dll executes, but all of my breakpoints are ignored. So it is executing the code but I cannot debug the fortran code.  

My development environment has Visual Studio 2013 and Intel Parallel Studio XE 2015 installed.

The solution contains two projects.  Project 1 is a VC# application.  Project 2 is a Fortran dll.  I have tried identifying the startup Project as single startup and multiple startup (Project 1 action=start; Project 2 action=none) yet none of the changes have any effect on the recognition of the breakpoints within the dll.  I have tried placing the .pdb and .dll in the directory of the .exe; have tried placing the .pdb and .dll files within the project.  None of these approaches have worked.

I welcome your assistance.

thank you

 

 

 

0 Kudos
1 Solução
Steven_L_Intel1
Funcionário
1.077 Visualizações

Make sure that you set the option "Enable unmanaged debugging" in the C# project.

Ver solução na publicação original

4 Respostas
Steven_L_Intel1
Funcionário
1.078 Visualizações

Make sure that you set the option "Enable unmanaged debugging" in the C# project.

Jacqueline_N_
Principiante
1.077 Visualizações

Thank you Steve!

Within the C# projects properties I found:

Debug->Enable Debuggers->

I activated the checkbox for "Enable native code debugging"; "Enable SQL Server debugging", and "Enable the Visual studio hosting process" were already checked.

As an informational point, my MVSP 2013 Version is 12.0.21005.1 REL with MS .NET Framework Version 4.5.50938

Steven_L_Intel1
Funcionário
1.077 Visualizações

The other thing I know that can cause this problem is if the DLL that the C# project loads is not the one that was built in the project.

jimdempseyatthecove
Colaborador honorário III
1.077 Visualizações

Try inserting a call to some function in the dll that you know works, and make that call such as to load the dll. (I think there is an option to list the dll being loaded in the console window)

Then place the break point on the call of interest. When you reach the break point, open the disassembly window and use the debugger step into and see where you end up. You may have to step into a few times to reach the dll. This can verify if the correct dll is being called. Note, if you have multiple versions of your dll, you may be mislead into thinking you called the right one. Insert some innocuous statement in the front of the routine being called that you know is not in the release code such as WRITE(*,*)"todays date here"

Jim Dempsey

Responder