В c, когда переменная определяется static внутри функции, значение переменной сохраняется все время. Вероятно, он хранится в разделе bss или data.контроль статической переменной внутри функции в eclipse CDT
Однако при отладке CDT Eclipse при попытке проверить эту переменную ввод имени переменной в панели выражений отображает только переменную, когда в стеке находится стек стека, например локальная переменная.
Это ошибка в затмении?
Редактировать: В встроенной рабочей среде IAR, статические переменные в функциях можно наблюдать вне функции при отладке, поэтому это возможно.
В встроенном верстаке IAR, статические переменные в функциях можно наблюдать вне функции, поэтому это возможно. – stdcall
Возможно ... но тем не менее они все еще не заняты. Я бы сказал, что IAR разрушает инкапсуляцию объявленной области переменной при этом. –
Почему мы заботимся об инкапсуляции, мы не выполняем «объектно-ориентированную» отладку. Скажем, например, у меня есть функция со статической переменной, которая содержит количество раз, когда вызывалась функция. это ценная информация для отладки даже вне области действия. – stdcall