Я и мой ёбаный кот на фоне ковра. Войти !bnw Сегодня Клубы
Как отловить переполнение стека?
#AB054Y / @l29ah / 3527 дней назад

Проверяй число свободных байтиков в стеке перед попыткой что-то на стеке выделить. Как это делать - а хуй знает, пойди компилятор пропатч или пиши на ассемблере
#AB054Y/6E0 / @j123123 / 3527 дней назад

рекомендую капкан на медведя

#AB054Y/2HW / @anonymous / 3527 дней назад
Оно при переполнении в хард-фолт вылетит. А это вектор. Ну так поставь на него обработчик и смотри в дебаггере. Совет два: заряди такой стек, чтоб не переполнялось. Какой компилятор?
#AB054Y/NPQ / @katsuk / 3527 дней назад
@katsuk Не вылетит, у меня много стеков же. gcc, или clang если немного попердолиться
#AB054Y/IZW / @l29ah --> #AB054Y/NPQ / 3527 дней назад
Из GCC >-fbounds-check > For front ends that support it, generate additional code to check that indices used to access arrays are within the declared range. This is currently only supported by the Java and Fortran front ends, where this option defaults to true and false respectively. А, еще https://en.wikipedia.org/wiki/AddressSanitizer (в GCC тоже что-то типа этого было)
#AB054Y/BF8 / @j123123 / 3527 дней назад
@j123123 Это замечательно, но мне интересно как это будет работать на freestanding хуите.
#AB054Y/RQV / @l29ah --> #AB054Y/BF8 / 3527 дней назад
valgrind же ж
#AB054Y/YI9 / @n / 3527 дней назад
@n запили валгринд на 8-битный микроконтроллер
#AB054Y/8XU / @j123123 --> #AB054Y/YI9 / 3527 дней назад
@j123123 (хотя у ляха 32-битный STM, но там один хуй не запустишь этот валгринд)
#AB054Y/VI0 / @j123123 --> #AB054Y/8XU / 3527 дней назад
@j123123 ну возьми портируй, делов то
#AB054Y/BC2 / @n --> #AB054Y/VI0 / 3527 дней назад
@n Ага, портировать валгринд на контроллер в котором может быть даже нихуя нет MMU. Охуительно
#AB054Y/BXV / @j123123 --> #AB054Y/BC2 / 3527 дней назад
Канарейки, не?
#AB054Y/L91 / @_ / 3527 дней назад
@l29ah Каких стеков много? RTOS чтоле? И с чего ты взял что не вылетит?
#AB054Y/L6V / @katsuk --> #AB054Y/IZW / 3527 дней назад
@katsuk Да. А с чего бы ему вылетать, ему ещё другие стеки своим говном засирать и засирать, а потом я буду срать кирпичами пытаясь понять от чего же у меня обосралось всё в треде, который только и делает что мигает светодиодом.
#AB054Y/PH2 / @l29ah --> #AB054Y/L6V / 3527 дней назад
@l29ah Епа ну поставь таск проверку стека в каждом треде
#AB054Y/WAY / @katsuk --> #AB054Y/PH2 / 3527 дней назад
@katsuk че как
#AB054Y/4N9 / @l29ah --> #AB054Y/WAY / 3527 дней назад
С чего вообще паника то?
#AB054Y/9M0 / @katsuk / 3527 дней назад
@l29ah https://en.wikipedia.org/wiki/Stack_buffer_overflow#Stack_canaries - и потом проверяй эту хуйню периодически
#AB054Y/W2J / @j123123 --> #AB054Y/4N9 / 3527 дней назад
@j123123 Иди нахуй.
#AB054Y/CLZ / @l29ah --> #AB054Y/W2J / 3527 дней назад
@katsuk С того что я не могу двумя кликами отловить тривиальную ошибку.
#AB054Y/YAO / @l29ah --> #AB054Y/9M0 / 3527 дней назад
@l29ah Сам нахуй иди
#AB054Y/KRE / @j123123 --> #AB054Y/CLZ / 3527 дней назад
@l29ah А ты уверен, что дело в стеке?
#AB054Y/C3Z / @katsuk --> #AB054Y/YAO / 3527 дней назад
@katsuk Это волшебный мир где дело в стеке, блядь.
#AB054Y/OH5 / @l29ah --> #AB054Y/C3Z / 3527 дней назад
@l29ah Ну так раздупли его под нимагу и посмотри, будет баг или нет
#AB054Y/M4A / @katsuk --> #AB054Y/OH5 / 3527 дней назад
@katsuk /YAO
#AB054Y/5E0 / @l29ah --> #AB054Y/M4A / 3527 дней назад

аппаратных вотчпоинтов нет?

#AB054Y/05C / @anonymous / 3527 дней назад
@anonymous Есть, но тредов больше чем вотчпоинтов.
#AB054Y/WOC / @l29ah --> #AB054Y/05C / 3526 дней назад
@l29ah А за каким ебаным лешим тебе столько тредов?
#AB054Y/68M / @katsuk --> #AB054Y/WOC / 3526 дней назад
@katsuk Четыре треда это много штоле? Один для бизнеслогики, один помигать светодиодом, ещё на драйвера всякие по треду.
#AB054Y/GKB / @l29ah --> #AB054Y/68M / 3526 дней назад
@l29ah А вотчпоинтов сколько?
#AB054Y/PY0 / @katsuk --> #AB054Y/GKB / 3526 дней назад
@katsuk Не помню, четыре? Алсо, у прерываний свой стек ещё.
#AB054Y/SUH / @l29ah --> #AB054Y/PY0 / 3526 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.