Я обнаружил ошибку в моем коде, когда оператор if () проверял значение в конце массива.IE,
int arrayX [2];
if(arrayX [2])
FunctionCall();
Это привело к вызову функции, которая по причинам, связанным с длиной указанного выше массива, пыталась подписать вектор с индексом за пределами допустимого диапазона, что приводило к ошибке.Однако ошибка произошла только при работе под отладчиком Xcode;всякий раз, когда я бегал под терминалом, это не происходило.Это заставляет меня подозревать, что когда я работаю под терминалом, память вне массива обнуляется или имеет тенденцию быть нулевой по какой-то другой причине.Оператор if проверяется для 80 различных «неисправных» массивов за цикл, поэтому маловероятно, что это совпадение, что он никогда не появится в терминале.
Просто для ясности, мой вопрос: почему нераспределенная или не связанная память удерживает нули при запуске под терминалом, а не при работе под отладчиком.