Отладчик

Типичные функциональные модули средств разработки и отладки.

Любое из перечисленных инструментальных средств состоит из нескольких взаимодействующих (программных либо аппаратных) функциональных модулей. Каждый из них обеспечивает определенный круг сервисных услуг при разработке и отладке программ. Некоторые из модулей специфичны для того или иного типа инструментальных средств разработки, другие используются во практически во всех вариантах систем разработки программ для микроконтроллеров.

Как минимум, система разработки содержит следующие функциональные блоки

  • Отладчик;
  • Узел эмуляции микроконтроллера;
  • Эмуляционная память;
  • Подсистема точек останова.

Более продвинутые модели могут содержать дополнительно:

  • Процессор точек останова;
  • Трассировщик;
  • Профилировщик (анализатор эффективности программного кода);
  • Таймер реального времени;
  • Программно-аппаратные средства, обеспечивающие возможность чтения и модификации ресурсов эмулируемого процессора «на лету», т.е. в процессе выполнения программы пользователя в реальном времени;
  • Программно-аппаратные средства, обеспечивающие синхронное управление, необходимое для эмуляции в мультипроцессорных системах;
  • Интегрированную среду разработки.

Отладчик является своеобразным мостом между разработчиком и отладочным средством. Состав и объем информации, проходящей через средства ввода-вывода, доступность ее для восприятия, контроля, и, при необходимости, для коррекции и модификации напрямую зависят от свойств и качества отладчика.

Хороший отладчик позволяет осуществлять:

  • Загрузку отлаживаемой программы в память системы;
  • Вывод на монитор состояния и содержимого всех регистров и памяти, и при необходимости, их модификацию;
  • Управление процессом эмуляции.

Более мощные отладчики, обычно их называют высокоуровневыми (High-Level Debuggers), помимо этого, позволяют:

  • Вести символьную отладку, благодаря тому, что отладчик "знает" адреса всех символьных переменных, массивов и структур (за счет использования специальной информации, поставляемой компилятором). При этом пользователь может оперировать более приемлемыми для человека символьными именами, не утруждая себя запоминанием их адресов;
  • Контролировать и анализировать не только дисассемблированный текст, но и исходный текст программы, написанной на языке высокого уровня, и даже с собственными комментариями.

Такой отладчик позволяет пользователю одновременно контролировать ход выполнения программы и видеть соответствие между исходным текстом, образом программы в машинных кодах, и состоянием всех ресурсов эмулируемого микроконтроллера.

Следует отметить, что высокоуровневый отладчик обеспечивает выполнение всех своих функций только в том случае, если используется кросс-компилятор, поставляющий полную и правильную отладочную информацию (не все компиляторы, особенно их пиратские версии, поставляют такую информацию) и при этом формат ее представления должен быть "знаком" отладчику.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: