Void f(int a)

{

long Ь;

if (а == 0) а++;

for (Ь = а * 2; b < 100; Ь++)

{

long с;

long а = Ь / 3;

if (а == 0) а++;

for (с = а; с < 10; C++)

{

char а = с == 9? 1: 0;

f1 (а);

}

f2 (а);

}

f3(a);

}

Переменная с именем "а" существует все время, пока выполняется функция f, но в зависимости от того, какая часть функции выполняется, имя "а" обозначает разные переменные. При трассировке функции f отладчик должен в зависимости от того, какая переменная активна, правильно показывать ее значение.

Создавая программу, разработчик не заботится о деталях реализации понятий, которые он использовал в программе. Оперируя "само собой разумеющимися" категориями, он зачастую не подозревает, как сложно было реализовать их разработчикам компиляторов и отладчиков. Последним приходится решать задачи совмещения в одной оболочке одновременно простого и интуитивного интерфейса, богатства функциональных возможностей и детальной проработки всего, что связано с реализацией особенностей архитектуры и функционирования конкретного МК. Если отладчик не предоставляет разработчику средств отладки, адекватных сложности решаемой задачи, то разработчик неизбежно теряет в производительности. Кому из нас не приходилось тратить часы и дни в поисках досадной ошибки или опечатки в исходном тексте?!

В процессе разработки и создания микропроцессорной системы рано или поздно наступает момент, когда она, наконец, воплощена в "железе" и начинает подавать признаки жизни. Однако в большинстве случаев эти признаки оказываются непредсказуемыми, система начинает жить "своей" жизнью. Многие программисты, наверное, согласятся, что каждая новая программа содержит ошибки. Отчасти поэтому новый МК на первых порах ведет себя как "черный" ящик.

Для того чтобы облегчить процесс отладки систем, разработан целый класс инструментальных средств. Их основное назначение — сделать процесс функционирования отлаживаемого МК "прозрачным", т. е. легко контролируемым, произвольно управляемым и модифицируемым по воле разработчика. Хороший профессиональный инструментальный комплекс дополнительно может предоставить разработчику множество сервисных услуг, тем самым существенно облегчая его труд, избавляя от рутинных операций.

К числу основных инструментальных средств отладки относятся внутрисхемные эмуляторы, программные симуляторы, платы развития (оценочные платы), мониторы отладки и эмуляторы ПЗУ. Существуют и комбинированные устройства и наборы.


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



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