I have a windows 32bits program in C/C++ that calls some fortran code, and I implemented a crash handling mechanism that intercepts crashes in order to write a MiniDump to help crash investigation.
In Debug, everything is fine and the dump contains a whole lot of information, but in Release configuration, the crash is dumped, but I can't get back any relevant symbols opening the dump to debug it in visual studio.
It asks me for the libifcoremd.dll first, and when I give it to him (from the redist folder) he then asks for libifcoremd.pdb, and for what I gathered in this forum, this file is not given.
Would you have any information or recommendations about debugging in this context? If it is possible to get symbols, maybe I miss a compile flag option for instance.
I am using Visual Studio 15 and the intel compiler 2015 as well.
Intel doesn't provide PDBs for its run-time DLLs, but I'd argue that they aren't useful to you, especially as you don't have their source code. You can supply PDBs for your own code.
I should be able to supply PDBs for my code through the '/Zi' compile options ?
When debugging the dump though, it says that the unhandled exception comes from the dll itself, and does not show frames under because of the lack of symbols.
Does the most recent stack frame for code from your program's executable show meaningful information?
My typical experience is that it does - to the extent that an immediate problem with the code (oops - I'm accessing a dissociated pointer/out of array bounds/argument not present) can be identified. When the cause is more distant additional forensics may be required.