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

ntdll.dll errors

DavidWhite
Valued Contributor II
2,380 Views

Making small changes to my program and wanted to check in debug mode. Now it keeps crashing in ntdll.dll, which is not explicitly in my project. Rebuilding as Release does not crash. Any ideas about how to locate this issue?

Thanks,

David

0 Kudos
5 Replies
Steven_L_Intel1
Employee
2,380 Views
ntdll.dll is a core Windows OS DLL. What is the error message? You may have memory corruption.
0 Kudos
DavidWhite
Valued Contributor II
2,380 Views
hi Steve,

This error is still ocurring, only whileDebugging in VS2010 (full version):


Unhandled exception at 0x774b15de (ntdll.dll) in Yieldmod.exe: 0xC0000005: Access violation reading location 0x00683000.

Same debug version executable runs perfectly without debugging.

Any hints how to track this down appreciated.

thanks,


David

0 Kudos
Steven_L_Intel1
Employee
2,380 Views
Ok, now that you have shown the actual error message, I see that this is an access violation, probably for some address that was passed to a Windows API routine. Is this a console application or one with a WinMain entry point? What I would do is add breakpoints or print statements in various places in the program and see how far it gets before the error occurs. Then narrow it down to the particular operation triggering the error.
0 Kudos
DavidWhite
Valued Contributor II
2,380 Views
Steve,

It is a Windows program using the RealWin library set.

As a production program, it has been running in Release mode without any apparent errors. Debugging with a breakpoint on the first line now shows no errors, as it does now without any breakpoints.

Thanks,

David
0 Kudos
Steven_L_Intel1
Employee
2,380 Views
Fun. Access violations in Windows callback routines are a real pain to debug. You might try using the Microsoft "spy" utility to track the messages your app is trying to handle, and see how far it gets before the error - once you can reproduce the error again, that is.

BTW, you may want to have a peek at this, where I do a "mea culpa" on a similar type of error.
0 Kudos
Reply