-
- Я же как раз писал об этом))) - evgeniy1294(06.11.2019 23:43)
- Спасибо, но я читал зашоренными глазами )) Сначала хотел брейк применить, а потом "упростил" конструкцию, не поменяв условие. - VLLV(07.11.2019 06:39)
- Говорят, "test-driven development" в этих случаях помогает. Сделал рефакторинг, прогнал тесты, чувствуешь себя сухо и комфортно. Хотел попробовать, но с этими тестами столько геморроя (особенно симулировать железо), что забил. Плетём лапти по SciFi(10 знак., 07.11.2019 12:17)
- В реальной жизни не могу заниматься тестированием, да и программировать некогда :), просто нужно вычистить код. Разобравшись, какая функциональность наносит непоправимый ущерб системности, отстоять её снос. Тестирование могу отдать, а это - ну VLLV(7 знак., 07.11.2019 13:51)
- Железо нужно симулировать не на уровне битов и фронтов сигналов, а на уровне высокоуровневых операций (например, чтение-запись блоков данных в EEPROM делается через функцию HAL)... fk0(3835 знак., 07.11.2019 12:59)
- Значит, наш IAR не Говно? :) - Ксения(07.11.2019 11:02)
- Не, тут тема сисек раскрыта не до конца... один глюк так и не объяснен. При выкидывании оптимизатором кода (и переменной), отладчик должен написать, что она не известна. Тут же он ее показывает по вполне определенному адресу. Дело может быть в 0men(56 знак., 07.11.2019 12:12)
- Да, так бывает. Пожалуй, у каждого было, у меня в том числе: "Я нашёл баг компилятора"! Спокойно отношусь, с пониманием. - Nikolay_Po(07.11.2019 11:11)
- мой найденный косяк )) - 0men(07.11.2019 12:22, ссылка)
- Какой-то унылый косяк. У меня было неверное вычисление MD5 при включении оптимизации (и, возможно, иные, более скрытые баги). Найти, где именно, не представляется возможным, т.к. код MD5 - та ещё простыня, а при оптимизации на дизассемблер без SciFi(19 знак., 07.11.2019 12:31)
- Да конечно. Я писал свой MD5 для пиков, одним глазом подглядывая в официальный исходник. Получилось и компактней и быстрей (на 8 битах). И отлаживается эта "простыня" очень просто, можно после каждой итерации каждой одной из 4-х частей алгоритма fk0(54 знак., 07.11.2019 13:04)
- +1, отлаживался так же - 0men(07.11.2019 13:16)
- А потом окажется, что эти дампы (там же надо volatile добавить) спугнули баг. Или не окажется... - SciFi(07.11.2019 13:06)
- Зачем, что даст volatile? Ты дамп явно печатаешь, компилятор явно это видит, что ты его читаешь и сгенерирует код какой нужно. Ты ж его не параллельно отладчиком из регистров/памяти выдирать будешь? Про отладчик конечно компилятор не знает. fk0(436 знак., 07.11.2019 13:15 - 13:18)
- Да конечно. Я писал свой MD5 для пиков, одним глазом подглядывая в официальный исходник. Получилось и компактней и быстрей (на 8 битах). И отлаживается эта "простыня" очень просто, можно после каждой итерации каждой одной из 4-х частей алгоритма fk0(54 знак., 07.11.2019 13:04)
- Какой-то унылый косяк. У меня было неверное вычисление MD5 при включении оптимизации (и, возможно, иные, более скрытые баги). Найти, где именно, не представляется возможным, т.к. код MD5 - та ещё простыня, а при оптимизации на дизассемблер без SciFi(19 знак., 07.11.2019 12:31)
- мой найденный косяк )) - 0men(07.11.2019 12:22, ссылка)
- Да говно, говно, не переживайте! ;О) - mse homjak(07.11.2019 11:07)
- Говорят, "test-driven development" в этих случаях помогает. Сделал рефакторинг, прогнал тесты, чувствуешь себя сухо и комфортно. Хотел попробовать, но с этими тестами столько геморроя (особенно симулировать железо), что забил. Плетём лапти по SciFi(10 знак., 07.11.2019 12:17)
- Спасибо, но я читал зашоренными глазами )) Сначала хотел брейк применить, а потом "упростил" конструкцию, не поменяв условие. - VLLV(07.11.2019 06:39)
- Я же как раз писал об этом))) - evgeniy1294(06.11.2019 23:43)