ART_ME 0 15 октября, 2019 Опубликовано 15 октября, 2019 (изменено) · Жалоба 1 час назад, Darth Vader сказал: Сделать поиск имени функции по всему проекту пробовали? Сколько нашлось? Два. В названии описания функции и название самой функции. ЗЫ. В описании то, что я назвал блоком программы, называется модулем. Изменено 15 октября, 2019 пользователем ART_ME Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 15 октября, 2019 Опубликовано 15 октября, 2019 · Жалоба Чудес не бывает. Если имя функции не находится в коде и вечновисящий отладчик не останавливается на брикдауне (а почему не брикапе?), то очевидно она не работает? В map-файле ещё можно поискать. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 15 октября, 2019 Опубликовано 15 октября, 2019 · Жалоба 33 minutes ago, ART_ME said: Два. В названии описания функции и название самой функции. ЗЫ. В описании то, что я назвал блоком программы, называется модулем. Вызов функции может быть запрятан в макрос. Причем даже не в "прямом" виде, а как "сборка слагаемых" препроцессором (как в FreeRTOS). Найти такое поиском "в лоб" невозможно. Функция может также вызываться по указателю на функцию. Если в теле функции нет ничего, кроме вызова другой функции - мог отработать оптимизатор и убрать промежуточное звено. Для таких исследований - скопируйте ВСЕ файлы кода и заголовков из каталога проекта в ОДИН файл :) и ищите в нем. В противном случае всегда есть вероятность что-то пропустить и не найти. ps поищите упоминание ф-ий в map-файле. Там же можно найти (если включить максимальный уровень детализации листинга) и "вложенности" вызовов функций. (метка функции и перечень ф-ий, которые из нее вызываются) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ART_ME 0 16 октября, 2019 Опубликовано 16 октября, 2019 · Жалоба 12 часов назад, k155la3 сказал: Вызов функции может быть запрятан в макрос. Так оно и оказалось. Спасибо. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 16 октября, 2019 Опубликовано 16 октября, 2019 · Жалоба Just now, ART_ME said: Так оно и оказалось. Т.е. макрос клеил имя для функции, иначе вы бы нашли её по имени. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ART_ME 0 16 октября, 2019 Опубликовано 16 октября, 2019 (изменено) · Жалоба 13 часов назад, VladislavS сказал: Чудес не бывает. Если имя функции не находится в коде и вечновисящий отладчик не останавливается на брикдауне (а почему не брикапе?), то очевидно она не работает? Тут непонятки: - если поставить брейкпоинт внутрь этой функции и запустить в отладчике RUN, то программа в эту функцию не попадает. - если поставить еще один брейкпоинт в майн перед установкой переменной, разрешающей запуск этой функции и повторно запустить RUN, то программа в эту функцию попадает. И да, искомая функция вызывается по прерыванию. Или это нормально? 8 минут назад, haker_fox сказал: Т.е. макрос клеил имя для функции, иначе вы бы нашли её по имени. Насколько я понял, да. Изменено 16 октября, 2019 пользователем ART_ME Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 16 октября, 2019 Опубликовано 16 октября, 2019 · Жалоба 21 minutes ago, ART_ME said: Или это нормально? Что-то странное у вас происходит. Поставьте брейк в окне дизассемблера. Адрес функции можно узнать в map-файле. По идее должно всегда там останавливаться при вызове функции. В вашем случае возможно оптимизация кода создаёт подобные эффекты. Можете её отключить, это делается в свойствах проекта -> "c/c++ compiler" -> "optimization". Выбираете там "NONE". Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 16 октября, 2019 Опубликовано 16 октября, 2019 · Жалоба 32 минуты назад, ART_ME сказал: перед установкой переменной, разрешающей запуск этой функции Где в коде используется переменная, разрешающая запуск функции, тоже никак не найти? Что-то не верится... 32 минуты назад, ART_ME сказал: И да, искомая функция вызывается по прерыванию И сколько у вас там прерываний, что нельзя было просмотреть их все за это время? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ART_ME 0 16 октября, 2019 Опубликовано 16 октября, 2019 · Жалоба 1 час назад, VladislavS сказал: Где в коде используется переменная, разрешающая запуск функции, тоже никак не найти? Что-то не верится... И сколько у вас там прерываний, что нельзя было просмотреть их все за это время? Где в коде используется переменная, разрешающая запуск функции, я нашел, именно перед ней я и ставлю еще один брейкпоинт. Вопрос в том, что ниже следующее поведение отладчика является нормальным или есть признак проблемы? - если поставить брейкпоинт внутрь этой функции и запустить в отладчике RUN, то программа в эту функцию не попадает. - если поставить еще один брейкпоинт в майн перед установкой переменной, разрешающей запуск этой функции и повторно запустить RUN, то программа в эту функцию попадает. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 16 октября, 2019 Опубликовано 16 октября, 2019 · Жалоба 23 минуты назад, ART_ME сказал: Вопрос в том, что ниже следующее поведение отладчика является нормальным или есть признак проблемы? Есть, но после "зависания отладчика" это неважно. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ART_ME 0 16 октября, 2019 Опубликовано 16 октября, 2019 · Жалоба 3 часа назад, VladislavS сказал: Есть, но после "зависания отладчика" это неважно. Для флудера - да! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ART_ME 0 12 ноября, 2019 Опубликовано 12 ноября, 2019 · Жалоба Информация для тех, кто столкнется с проблемами отладки. "Ногодрыг" и RTT решают все проблемы. А отладчики от IDE - в топку. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 12 ноября, 2019 Опубликовано 12 ноября, 2019 · Жалоба 47 minutes ago, ART_ME said: А отладчики от IDE - в топку. Ну сё, срочно сеггеру и прочим надо закрывать подразделения, выпускающие отладчики. А IAR'у и Кейлу - снижать цены на продукты, т.к. отладчики покупать никто не будет. Можно использовать только компиляторы. 48 minutes ago, ART_ME said: "Ногодрыг" и RTT решают все проблемы. Не смешите, пожалуйста. 49 minutes ago, ART_ME said: Информация для тех, кто столкнется с проблемами отладки. Надеюсь, те, кто столкнётся, будут чуток по-сообразительнее. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 214 12 ноября, 2019 Опубликовано 12 ноября, 2019 · Жалоба Продолжение оффтопика приведет к предупреждениям и закрытию темы. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 12 ноября, 2019 Опубликовано 12 ноября, 2019 · Жалоба 9 minutes ago, ART_ME said: где люди вынуждены общаться со мной в личке Простите, за офф. Но вы не можете общаться в личке. Я вам письмо хотел отправить. А вам запрещено получать письма. Так, что не придумывайте. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться