I have a program which crashes randomly when it is launched “normally”. I’m fairly confident there are bugs buried in a giant library I’m using which are the cause of the issue (otherwise my implementation has failed to account for some mysterious detail for how to employ it). If I try to debug the program, I get nowhere because it never seems to crash when run that way!
What would be a typical explanation for this?
Here are some guesses I had: Does the debugger alter the timing of threads perhaps? (Such that race conditions could be magically solved / hidden?) If something is being done which produces “undefined” behavior, would the debugger vs a direct execution be an apples to oranges comparison?
I simply don’t know enough about debuggers to understand how they alter the execution.
Leave an answer