Я делаю основное приложение Cinder в Visual Studio. Это поколение частиц (слабо следуя онлайн Привет Синдер руководство. В режиме отладки это всегда работает. Однако в конфигурации релиза он иногда не генерирует никаких частиц.
Мое лучшее предположение, что где-то есть UB, проблема в том, что его действительно трудно обнаружить. Небольшие, казалось бы, несвязанные изменения могут вызвать или отменить это.
Например, изменение в функции draw
:
spatial_.speed_ += 0.1f * ci::Vec2f(cos(noise * 15.0f), sin(noise * 15.0f));
// ^^^^^
// this value
любое постоянное значение, отличное от 1.0f или отсутствие постоянного значения, не приведет к генерации частиц. Как можно изменить функцию draw
влияет на код в функции update
(где я генерирую частицы). Я знаю, что они вообще не генерируются, потому что я показываю количество частиц.
Все виды изменений такого рода во всей программе вызывают это (например, изменение констант, изменение типов параметров со значения на ссылку, добавление или удаление строки, которая выводится в console ()).
Я не хочу, чтобы вы, ребята, отлаживали мой код, поэтому я не поместил код здесь.
Я просто заблудился, как с этим бороться. У меня вопрос, как мне приступить к диагностике ошибки? Какие у меня варианты, какие шаги я должен предпринять?
Проблемы, с которыми я сталкиваюсь:
debugging information for ***.exe cannot be found or does not match. Binary was not build with debug information
) и любые точки останова удаляются в GUI с помощью всплывающей подсказки the breakpoint will not be currently hit (no symbols have been loaded for this document)
Обновить:
draw
функция частиц будет генерироваться. Если я удаляю код для размера частиц, частицы будут генерироваться. Если я удалю код для движения, частицы будут сгенерированы. Если я удаляю код для рисования частиц, частицы будут сгенерированы. Если я удаляю код для начального положения частиц, частицы будут генерироваться, если я удаляю код, который удаляет мертвые частицы, частицы генерируются. Единственное, что я обнаружил, это поддерживает ошибку, если я изменил настройки fps, так что да, я знаю, что установка fps не вызывает проблемы, так что ура.Задача ещё не решена.