Основы работы с отладчиком Turbo Debugger, страница 2

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

 Процесс отладки является по своей природе итеративным, то есть при написании программы цикл,  состоящий из рассмотренных четырех этапов, повторяется многократно. Например, многочисленные синтаксические ошибки не позволяют откомпилировать программу,  пока все они не будут исправлены. Такие ошибки называются ошибками времени компиляции (compile-time errors). Компиляторы имеют встроенные средства проверки синтаксиса, которые информируют программиста об ошибках такого типа и позволяют тут же их исправлять.  Однако есть ошибки гораздо более тонкие и коварные, чем синтаксические. Такие ошибки могут проявляться уже в процессе выполнения программы. Они называются ошибками времени выполнения (run-time errors). Для исправления такого рода ошибок необходимо применять специализированные средства отладки.

Общие сведения об отладчиках

Отладчиками (debuggers) называются специализированные программные средства, предназначенные для изучения работы  кода в процессе его выполнения. В основе принципа работы всех отладчиков лежит выполнение исследуемого кода под управлением отладчика. Таким образом, появляется возможность не только получить исчерпывающее представление о работе данного кода, но и определенным образом влиять на его выполнение – например, с целью получения более детальных сведений о функционировании кода. Эта особенность отладчиков делает их основным инструментом для поиска в коде ошибок времени выполнения.

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

В зависимости от набора предлагаемых возможностей программные отладчики подразделяются на отладчики уровня приложения  и отладчики уровня операционной системы. Отладчики уровня операционной системы обладают наиболее широкими возможностями, так как работают между кодом приложения и непосредственно аппаратурой. С помощью таких отладчиков можно выявлять самые трудные ошибки, поскольку они дают возможность увидеть во всех подробностях как выполняется даже самый маленький участок кода. Примером отладчиков уровня операционной системы является наиболее мощный на сегодняшний день отладчик Soft-ICE фирмы Nu-Mega, который обладает широчайшим спектром возможностей, многие из которых уникальны и отсутствуют даже в аппаратных отладчиках. Некоторым недостатком отладчиков уровня операционной системы является несколько затрудненное управление ими. Отладчики уровня операционной системы являются мощными инструментами для профессиональных системных программистов и поэтому требуют некоторого времени на освоение.