Это на самом деле не вопрос C; это относится к используемым платформам.
Часто проект / решение будет настроено на создание версии для отладки и версии для выпуска, и размещение их в каталогах Debug / и Release / является обычным способом различения. Отладочная версия обычно компилируется быстро и работает медленно и содержит информацию для связи внутреннего исполнения с исходным кодом (например, номера строк и имена переменных). Релизная версия обычно медленнее компилируется и быстрее запускается, и гораздо сложнее отследить, что происходит внутри.
Очевидно, между версиями отладки и выпуска должны быть различия, если только установлены соответствующие флаги компилятора. Тем не менее, в системах сборки, с которыми я знаком, возможно внесение других произвольных изменений, и иногда это приведет к ошибке только для версии выпуска, что является болью. С другой стороны, если код C не определяет поведение должным образом, версии отладки и выпуска могут интерпретировать его по-разному, и это тоже боль.
В этом случае я бы предположил, что была разница в том, как они были построены. Я не могу комментировать дальше без дополнительной информации.
Что такое ОС? Какой компилятор C используется? Какую систему сборки вы используете (если вы используете IDE, возможно, стандарт с IDE)? Какую библиотеку вы используете? Ваша организация строит это, или вы получаете это извне? Знание этих вещей поможет нам понять, с чего начать.