-
- Самое простое: SciFi(488 знак., 17.01.2020 23:15)
- Если немного заморочиться, то можно легко найти проблему: evgeniy1294(2543 знак., 18.01.2020 00:04)
- Имеет место наезд стека на массив. См. ниже. Nikolay_Po(2952 знак., 18.01.2020 14:26 - 14:30)
- Не понял, откуда вывод про стек? И как могло скушаться 30 килобайт стека в программе, которая ничего не делает? - SciFi(18.01.2020 14:40)
- До вылета в исключение sp указывает на внутренность массива. Программа крашится из-за возврата из прерывания на неадекватный адрес, так как нормальный адрес возврата оказывается затёрт записью в массив. - Nikolay_Po(18.01.2020 14:49)
- Это можно поисследовать. Заполнить массив паттерном, как уже упоминалось, прогнать сколько-то итераций, потом посмотреть на стек и сравнить с ожиданиями. Можно watchpoint поставить на участок стека, который по идее никто не должен трогать. - SciFi(18.01.2020 14:51)
- Прошерстил массив. Паттерн есть :). Это нули после инициализации. Nikolay_Po(249 знак., 18.01.2020 15:17)
- Кстати, моя инициализация стек не обнуляет, потому что зачем. Что я делаю не так? - SciFi(18.01.2020 17:02)
- Немного не так. Паттерн был внутри массива. Массив инициализирован. Поэтому нормальный паттерн - нули. Nikolay_Po(140 знак., 18.01.2020 18:53)
- Единственный вариант - обработана команда установки указателя стека. - VLLV(18.01.2020 20:11)
- Немного не так. Паттерн был внутри массива. Массив инициализирован. Поэтому нормальный паттерн - нули. Nikolay_Po(140 знак., 18.01.2020 18:53)
- Кстати, моя инициализация стек не обнуляет, потому что зачем. Что я делаю не так? - SciFi(18.01.2020 17:02)
- Прошерстил массив. Паттерн есть :). Это нули после инициализации. Nikolay_Po(249 знак., 18.01.2020 15:17)
- Это можно поисследовать. Заполнить массив паттерном, как уже упоминалось, прогнать сколько-то итераций, потом посмотреть на стек и сравнить с ожиданиями. Можно watchpoint поставить на участок стека, который по идее никто не должен трогать. - SciFi(18.01.2020 14:51)
- До вылета в исключение sp указывает на внутренность массива. Программа крашится из-за возврата из прерывания на неадекватный адрес, так как нормальный адрес возврата оказывается затёрт записью в массив. - Nikolay_Po(18.01.2020 14:49)
- Не понял, откуда вывод про стек? И как могло скушаться 30 килобайт стека в программе, которая ничего не делает? - SciFi(18.01.2020 14:40)
- Стек превращается в месиво ещё до срабатывания исключений. Попробовал такую функцию: Nikolay_Po(2004 знак., 18.01.2020 13:55)
- Питание, помехи, убогая схема/плата? Думаю, если постараться, можно заставить проц глючить так, что отлаживать придётся до следующей пятилетки. - SciFi(18.01.2020 14:47)
- Была аналогичная проблема с буферами под eth. Решил созданием отдельной секции в скрипте линкера. Вообще надо скрипт линкера смотреть, постоянно нахожу в них косяки. - evgeniy1294(18.01.2020 14:43)
- Имеет место наезд стека на массив. См. ниже. Nikolay_Po(2952 знак., 18.01.2020 14:26 - 14:30)
- Если немного заморочиться, то можно легко найти проблему: evgeniy1294(2543 знак., 18.01.2020 00:04)
- Самое простое: SciFi(488 знак., 17.01.2020 23:15)