Это ладно. А вот когда у тебя есть сравнительно простой код, который под отладчиком работает прекрасно, а в Release тестах падает - вот это грустно. Хотя должен работать и там, и там.
можно контакты того кто Release тесты писал? мы как раз ищем такого гения.
думаю, дядя всё же про RC (release candidate), а если нет, то про тесты про ПРОД-е тоже интересно почитать )
Я думаю, дядя про то, что код без оптимизаций (Debug для vs-ебов, -O0 для GCC-ебов) работает, а код с оптимизациями (Release, -O2/3/wtf) - нет.
Типичная жиза сишников/плюсовиков, связанная с Undefined Behavior, непониманием, что за хуйню ты написал, а иногда, очень редко, но таки с багами компилятора.
Типичная жиза сишников/плюсовиков, связанная с Undefined Behavior, непониманием, что за хуйню ты написал, а иногда, очень редко, но таки с багами компилятора.
вот UB и баги компилятора и надо ловить и это актуально не только для си и плюсов а для многих других ЯП, а для этого надо иметь неебаться какой опыт не только в кодинге а написании тестов (а иначе разрабы только и будут что работать ради кривых тестов).
Именно так.
Если интересно что именно падало - я писал read only лист для использования в record классах в C#. И одно из требований было чтобы расчет хеш кода и сравнение значений работали не по дефолту (для ссылочных типов сравниваются ссылки и хеш тоже по факту считается от ссылки). Т.е. е двух листов с одинаковым содержимым хеш коды все равно разные. Вот этот расчет хеша я и переопределял. Собственно, там было немножко битовой арифметики и она на самом деле может работать чуть по разному под отладчиком и без когда происходит переполнение.
Если интересно что именно падало - я писал read only лист для использования в record классах в C#. И одно из требований было чтобы расчет хеш кода и сравнение значений работали не по дефолту (для ссылочных типов сравниваются ссылки и хеш тоже по факту считается от ссылки). Т.е. е двух листов с одинаковым содержимым хеш коды все равно разные. Вот этот расчет хеша я и переопределял. Собственно, там было немножко битовой арифметики и она на самом деле может работать чуть по разному под отладчиком и без когда происходит переполнение.
обычный stacktrace
читать кверхногами и задом на перёд
может и так ) а бывало, что за пониманием надо было идти в var/log/ и ковыряться там ещё ) те же messages, syslog и пр., а потом возвращаешься к трэйсу и - суууууу ка
шо.. опять права забыл раздать?
теперь стоит принести извинения компилятору.
пока орал на компилятор, понял, что пишешь на скриптовом языке
Пока орал на скриптовый язык понял что пишешь все у себя только в воображении.
На каком языке вы сейчас говорили?
Волапюк
Дезолэ, месье, же не парлэ па франсэ
Quelle dommage, j'ai espéré mieux de vous.
чобляепта
*Пока зевал на компилятор.
Ждём нейросети которые не будут дико орать и пердеть без дела.
А если действительно баг в компиляторе, то до последнего будешь упираться "да не, это я что-то неправильно сделал"
Я видел баг в компиляторе. GCC, inline функция + ассемблерная вставка = иногда вероятностью компилятор сгенерирует херню. Я очень очень очень долго пытался искать у себя UB, чтобы понять, что за хрень творит компилятор.
Ну так-то 99% любых глюков в любой технике.
Чтобы написать коммент, необходимо залогиниться