Существует странная проблема с некоторым кодом, с которым я работаю: Насколько я знаю и насколько я проверял, в коде нет компонентов, которые полагаются на что-нибудь случайное, например, на систему времени и т. д. Однако достаточно просто добавить точку останова в коде и поведение изменений программы. Он не делает ничего плохого, он просто ведет себя по-другому (в коде есть несколько объектов, которые должны быть выбраны некоторым значением, которое равно 0 для всех из них - он просто выбирает другой объект, где значение равно 0 при добавлении точек останова) , К сожалению, невозможно отправить любой код, потому что его слишком много.Добавление изменений контрольных точек изменения поведения программы
Что может вызывать такое поведение?
Редактировать: Я потратил еще некоторое время на проблему: он, похоже, не связан с точками останова - самый простой способ получения разных результатов заключается в следующем: при запуске процесса отладки от другого. cpp-файл проекта, выход уже меняется. При отключении «Сборка автоматически» этого больше не происходит. В заключение я заключаю, что даже если в коде нет изменений, что-то перестраивается. Я также сузил его до класса, который на самом деле вызывает различное поведение: это реализация кубика фибоначчи.
Полностью необъяснимое поведение часто (обычно?) Означает, что некоторые из вашего кода имеют неопределенное поведение, но точно, что и где невозможно угадать, без кода, на который нужно смотреть. Я бы * не * отверг это, хотя - странное, но безобидное поведение не всегда остается безвредным. –
Является ли это целью выбора серверных объектов и выполнения его в другом порядке или одного из нескольких объектов и выбора другого. В любом случае оптимизация является выдающимся кандидатом. –
Предполагается выбрать один из многих и выбрать другой. Оптимизация отключена. – MrWayne