Димон Безпарольный 2 7 мая, 2019 Опубликовано 7 мая, 2019 · Жалоба Язык русский, английский не важно. Есть какие нибудь документы по дебаггеру Кейл кроме хелпа? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 7 мая, 2019 Опубликовано 7 мая, 2019 · Жалоба Есть Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 7 мая, 2019 Опубликовано 7 мая, 2019 · Жалоба Я то думал что здесь знают что - то наиболее подходящее. Ну раз таких знаний нет даже у профессионалов, тогда конечно гугл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 7 мая, 2019 Опубликовано 7 мая, 2019 · Жалоба 2 minutes ago, Димон Безпарольный said: Я то думал что здесь знают что - то наиболее подходящее. Ваш вопрос - очень общий, ни разу не конкретный. Поэтому и ответ на него аналогичный. Удивляться нечему :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 7 мая, 2019 Опубликовано 7 мая, 2019 (изменено) · Жалоба 4 minutes ago, Forger said: Ваш вопрос - очень общий, ни разу не конкретный. Поэтому и ответ на него аналогичный. Удивляться нечему :) Понял. Звиняюсь. Конкретизирую. Есть подозрение что в процессе выполнения кода разрушается память. Более конкретно здесь: STM32L476 + SD. f_write выдает FR_DISK_ERR https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=151901&tab=comments#comment-1624537 Можно ли дебаггером отловить кто пишет в конкретную область памяти. Вывести переменные и понаблюдать за их значением? Где бы кроме гугла об этом почитать? Изменено 7 мая, 2019 пользователем Димон Безпарольный Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 7 мая, 2019 Опубликовано 7 мая, 2019 · Жалоба 3 minutes ago, Димон Безпарольный said: Можно ли дебаггером отловить кто пишет в конкретную область памяти. Вывести переменные и понаблюдать за их значением? Можно. Это есть в мануале, в частности тут Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 7 мая, 2019 Опубликовано 7 мая, 2019 · Жалоба 9 minutes ago, Forger said: Можно. Это есть в мануале, в частности тут О как. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 7 мая, 2019 Опубликовано 7 мая, 2019 · Жалоба 7 minutes ago, Димон Безпарольный said: О как. Спасибо. Нашел в гугле за 3,75 сек. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 7 мая, 2019 Опубликовано 7 мая, 2019 · Жалоба Не нашел ответа. Как в дебаггере вывести / узнать адрес начала этой структуры: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 7 мая, 2019 Опубликовано 7 мая, 2019 · Жалоба 12 minutes ago, Димон Безпарольный said: Не нашел ответа. Как в дебаггере вывести / узнать адрес начала этой структуры? Шутите? Вспомните, как это делали в других средах, тут аналогично. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 8 мая, 2019 Опубликовано 8 мая, 2019 · Жалоба http://www.keil.com/appnotes/docs/apnt_230.asp?_ga=2.147416191.932417894.1557290765-121321346.1557290765 Я несколько раз давал подобную информацию. Адреса переменных видны в map файле. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 8 мая, 2019 Опубликовано 8 мая, 2019 (изменено) · Жалоба Всем спасибо. Изучил, научился даже ставить break на изменение переменных. Нижайший поклон. Помогла ссылка Viko http://www.keil.com/appnotes/docs/apnt_230.asp?_ga=2.147416191.932417894.1557290765-121321346.1557290765 Раньше пытался обуздать Watch Window. Оказывается локальные переменные она видит только в останове. Поскольку они в регистрах. Изменено 8 мая, 2019 пользователем Димон Безпарольный Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 8 мая, 2019 Опубликовано 8 мая, 2019 · Жалоба 15 minutes ago, Димон Безпарольный said: Оказывается локальные переменные она видит только в останове. Это вполне логично. Кто знает язык C на базовом уровне, тот понимает причину этого. 15 minutes ago, Димон Безпарольный said: Поскольку они в регистрах. Нда... случай запущенный Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 8 мая, 2019 Опубликовано 8 мая, 2019 · Жалоба 16 minutes ago, Forger said: Это вполне логично. Кто знает язык C на базовом уровне, тот понимает причину этого. Нда... случай запущенный Changing a local variable to a static or global normally means it is moved from a CPU register to RAM. CoreSight can view RAM but not CPU registers when the program is running. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 17 8 мая, 2019 Опубликовано 8 мая, 2019 · Жалоба 28 minutes ago, Димон Безпарольный said: Changing a local variable to a static or global normally means it is moved from a CPU register to RAM. CoreSight can view RAM but not CPU registers when the program is running. Это тот самый случай, когда работает поговорка: "смотришь в книгу, а видишь фигу". Случай действительно запущенный :) Специально для такого случая: локальные переменные размещаются в стеке (если явно не пытаетесь использовать регистры), стек находится в RAM. Почитайте про "область видимости переменных". Это есть в книге по С, где-то в базовых разделах, в самых азах. В динамике (RUN) отладчик сможет видеть только глобальные переменные, т.к. их зона видимости - глобальная. Делайте локальные переменные глобальными или копируйте их содержимое в другие глобальные, их и наблюдайте. Подобные куски кода принято оформлять в конструкциях в стиле #ifdef DEBUG ... #endif Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться