0

I have a Debug release of my project that works as expected; but when I build it in Release, I get a "Symbol File Not Loaded" error. Since I'm building in release, I can't use the call stack, local variables, etc. to try to determine what objects are missing symbols, so I'm at a bit of a dead end on how to troubleshoot this further.

How can I troubleshoot this error in my Release build, given that my Debug build appears to work without issue?

nathan lachenmyer
  • 5,298
  • 8
  • 36
  • 57
  • Often, one of the differences between a Debug, and Release build is the symbols are intentionally stripped from the Release build to decrease the library and executable size. What are you trying to do with the Release build that is causing the error to appear? – David C. Rankin Apr 16 '20 at 19:05
  • The error occurs as soon as I launch the program; the Release build doesn't function at all. – nathan lachenmyer Apr 16 '20 at 19:06
  • Sounds like you are missing a library during link that is present in your options for the Debug build. Before anyone can help further, you need to post the compile strings for both the Debug and Release builds. [A Minimal, Complete, and Verifiable Example (MCVE)](http://stackoverflow.com/help/mcve) is needed. – David C. Rankin Apr 16 '20 at 19:30
  • Are you seeing that "Symbol File Not Loaded" in the debugger output window? You can change compiler and linker options to include debug info in a Release build. – 1201ProgramAlarm Apr 16 '20 at 21:10
  • @DavidC.Rankin Unfortunately, right now I'm just trying to get more information about *which* library could be causing the issue so that I can create a MCVE. I have MCVEs for each separate library, but obviously something isn't quite linked up in this project. I was hoping to get some information about how I should go about doing that. – nathan lachenmyer Apr 16 '20 at 21:19
  • @1201ProgramAlarm I didn't realize you could do that; that seems like a great way to temporarily enable debugging and help me track the issue down. – nathan lachenmyer Apr 16 '20 at 21:22
  • On Linux you have `ldd` to analyze the libraries linked with an executable. I know there is a similar stand-alone tool for windows. Have a look at [What is the equivalent of Linux's ldd on windows?](https://stackoverflow.com/questions/1993673/what-is-the-equivalent-of-linuxs-ldd-on-windows) – David C. Rankin Apr 16 '20 at 21:26

0 Answers0