Выполнение по шагам — это простейший способ выполнения программы по элементарным фрагментам. Выбор команды Run|Step Over (клавиша F8) вызывает выполнение отладчиком всего кода в подсвеченной строке, включая любые вызываемые на ней процедуры или функции. После этого подсвеченная строка перемещается на следующую строку программы.
Часто при выполнении программы по шагам требуется отслеживать значения переменных. Для этого можно открыть окно просмотра значений переменных, выполнив команду Debug|Watch. На экране появится окно Watches. Если это окно будет активным, то можно изменить его размеры и местоположение, а также пользоваться меню, пункты которого расположены в последней строке экрана дисплея.
Для изменения размеров и местоположения окна используются клавиши Ctrl+F5. Граница окна становится зеленого цвета и можно пользоваться следующими клавишами:
- клавиши управления курсором — перемещение окна по экрану;
- Shift+клавиши управления курсором — изменение размеров окна;
- Esc — отмена изменений;
- Enter — подтверждение изменений.
Теперь перечислим пункты меню этого окна:
- F1 (Help) — вывод на экран окна помощи, где описаны правила работы с этим окном;
- F7 (Trace) — трассировка программы;
- F8 (Step) — выполнение программы по шагам;
- Enter (Edit) — редактирование имени активной переменной (переменной, которая выделена зеленой полосой);
- Ins (Add) — добавление переменной в окно;
- Del (Delete) — удаление из окна активной переменной;
- Alt+F10 — вывод локального меню этого окна, которое содержит следующие пункты:
- Add (Ins) — добавление переменной в окно;
- Modify (Enter) — редактирование имени активной переменной;
- Remove (Del) — удаление из окна активной переменной;
- Clear All — удаление из окна всех переменных;
- Enable — «отключить» вывод значения активной переменной;
- Disable — «включить» вывод значения активной переменной.
Примечание.Для перехода в требуемое окно используется комбинация клавишAlt+. Комбинация клавишAlt+0выводит на экран диалоговое окно со списком всех открытых окон. Окно Watches позволяет вам несколькими способами представлять значения просматриваемых выражений, добавляя запятую и один или более спецификаторов формата. Например, хотя целочисленные значения выводятся обычно в десятичном виде, указав после него H, вы можете задать вывод выражения в шестнадцатеричном формате. Допустимые спецификаторы формата и их действие перечисляются в таблице 1.
Таблица 1. Спецификаторы форматаСимвол | Тип, на который он влияет | Функция | ||||
$, H или X | Целочисленные типы. | Шестнадцатеричный. Выводит целочисленные значения с префиксом $, включая те, которые содержатся в структуре данных. | ||||
C | Char, строковые типы. | Символьный. Выводит специальные символы для кодов ASCII 0..31. По умолчанию такие символы выводятся в виде значений #xx. | ||||
D | Целочисленные типы. | Десятичный. Выводят целочисленные значения в десятичном виде, включая те, которые содержатся в структурах данных. | ||||
Fn | С плавающей точкой. | С плавающей точкой. Выводит n значащих цифр, где n лежит в диапазоне 2..18 (по умолчанию — 11). | ||||
nM | Все. | Дамп памяти. Выводит n байт памяти, начиная с адреса, заданного выражением. Если n не задано, то по умолчанию оно равно значению размера в байтах типа переменной. | ||||
P | Указатели. | Указатель. Выводит указатели по адресу :. | ||||
R | Записи, объекты. | Запись. Выводит имена полей, например: (X:1; Y:10; Z:5) вместо (1, 10, 5). | ||||
S | Char, строки. | Строки. Выводит символы ASCII 0..31 в виде #xx. Используется только для модификации дампов памяти |
Проиллюстрируем механизм пошагового выполнения программы. Для этого рассмотрим следующий пример: Program StepTest; Function Negate(X: Integer): Integer; Begin Negate := -X; End;Var I: Integer; BeginFor I := 1 To 10 Do Writeln(Negate(I)); End. Текст этого примера можно взять здесь. В окно просмотра значений переменных поместите переменную I и нажмите клавишу F8. Подсвеченная строка перемещается на оператор Begin в начале основного цикла, поскольку это первое, что выполняется в программе. Значение переменной I становится равным 0, так как осуществляется неявное присваивание всем переменным начальных значений. Второе нажатие клавиши F8 выполняет Begin и перемещает подсвеченную строку вниз до оператора For, расположенного на следующей строке. После этого нажатие F8 вызывает выполнение всего цикла For; на экран пользователя выводятся числа от -1 до -10, а строка выполнения перемещается к End. Значение переменной I становится равным 10. Хотя функция Negate вызывается 10 раз, строка выполнения никогда на нее не перемещается. Выполнение по шагам позволяет отладчику не показывать детали любых вызовов для отдельной строки. Выполнение по шагам вызывает выполнение всего цикла For сразу, поэтому вы не сможете видеть изменения значений переменных в ходе выполнения цикла. Если требуется наблюдать изменения значений переменных, то внесите в пример следующее изменение: . . . .BeginFor I := 1 To 10 DoWriteln(Negate(I));End. Такая программа будет в точности эквивалентна предыдущей версии, и генерируемый код будет идентичен. Но поскольку оператор Writeln теперь находится на отдельной строке, отладчик может интерпретировать его отдельно. Если теперь вы будете нажимать клавишу F8, то увидите, что подсвеченная строка будет при выполнении цикла 10 раз возвращаться на Writeln, а значение переменной I будет изменяться от 1 до 10. Трассировка программы во многом аналогична ее выполнению по шагам. Единственное исключение состоит в том, что когда встречается оператор вызова процедуры или функции, при трассировке эти процедуры и функции также выполняются по шагам, а при простом выполнении по шагам управление возвращается после завершения выполнения подпрограммы. Например, чтобы выполнить трассировку программы из предыдущего примера, выберите команду Run|Trace Into (клавиша F7). Когда вы в первый раз делаете это, управление перемещается на оператор Begin основной программы. Повторное нажатие F7 снова перемещает строку управления на оператор For. После этого нажатие клавиши F7 трассирует вызов функции Negate — подсвеченная строка перемещается на оператор Begin в блоке функции. Если вы продолжаете нажимать F7, подсвеченная строка перемещается по функции, а затем, когда вы дойдете до оператора End, возвращается к оператору вызова. Формат вашей программы влияет на поведение строки выполнения при трассировке, хотя и не в такой степени, как при пошаговом выполнении. Если код сформатирован как в первом примере, то трассировка оператора For приводит к выполнению 10 раз функции Negate. Если вы разобьете оператор For на две строки, то трассировка оператора End функции возвращает подсвеченную строку на ту строку основной программы, которая будет выполняться следующей. Первые девять раз это снова будет вызов функции. В десятый раз строка выполнения перемещается на оператор End программы. Пошаговое выполнение или трассировка выполняет одно и то же действие, кроме того случая, когда подсвеченная строка находится под строкой вызова процедуры или функции, или когда вы выполняете оператор Begin в начале программы или модуля, который использует другие модули. Выполнение Begin в блоке Begin..End основной программы вызывает код инициализации для любого используемого в программе модуля в том порядке, который указывается в секции Uses программы. Аналогично, выполнение оператора Begin в начале секции инициализации вызывает код инициализации для любых модулей, используемых в данном модуле. Выполнение по шагам и трассировка работает в этих случаях, как и можно ожидать — пошаговое выполнение Begin выполняет всю инициализацию, возвращая управление на следующий оператор только после того, как все будет завершено; при трассировке выполняется трассировка кода инициализации. Если вы используете в своей программе объекты, отладчик интерпретирует свои методы аналогично тому, как он интерпретирует обычные процедуры и функции. Пошаговое выполнение метода интерпретирует метод как один шаг, возвращая управление к отладчику после того, как метод завершает выполнение. Трассировка метода загружает и выводит на экран код метода и трассирует его операторы. Если вы выполняете в программе компоновку с внешним кодом, используя для этого директиву компилятора >, то если компонуемый OBJ-файл содержит отладочную информацию, вы можете трассировать этот код или выполнять его по шагам. Среда программирования «ничего не знает» об отлаживаемом коде в этих модулях, но она будет показывать соответствующие строки в исходном коде. Вы можете отлаживать внешний код, написанный на любом языке, включая С, С++ и ассемблер. Если код отвечает требованиям для внешней компоновки и содержит полную стандартную отладочную информацию, интегрированная среда отладчика может выполнять его по шагам или трассировать. На следующем шаге мы рассмотрим, как организовать выполнение программы до заданной точки. Средства отладки программ. Выполнение программы до заданной точки На этом шаге мы рассмотрим способы выполнения программы до заданной точки. Иногда нежелательно выполнять по шагам всю программу только для того, чтобы добраться до того места, где возникает проблема. Отладчик дает вам возможность выполнять сразу большой фрагмент программы до той точки, где вы хотите начать выполнение по шагам. Чтобы задать в программе точку, до которой вы хотите ее выполнить, а затем остановиться, используйте команду Run|Go to Cursor (Выполнение до курсора) или клавишу F4. Позиционируйте курсор на той строке, где вы хотите возобновить управление отладкой, затем нажмите клавишу F4. Заметим, что вы можете сделать это как в начале сеанса отладки, так и когда уже выполните часть программы по шагам. Второй способ состоит в том, чтобы остановить в определенной заданной точке вашу программу. Эта точка называется точкой останова. Точка останова — это обозначенная в коде программы позиция, в которой вы хотите прекратить выполнение программы и вернуть выполнение отладчику. В этом смысле точка останова работает аналогично команде Go to Cursor, при которой программа выполняется обычным путем до достижения определенной точки. Основное различие состоит в том, что вы можете задать несколько точек останова и точки останова, которые будут срабатывать не при каждом их достижении.


- добавить новую точку останова — выделить пустую строку в списке и нажать кнопку Edit;
- удалить точку останова — выделить ее и нажать кнопку Clear;
- модифицировать существующую точку останова — выделить ее и нажать кнопку Edit;
- найти в программе точку останова — выделить ее и нажать кнопку View;
- удалить все точки останова — нажать кнопку Clear All.
Точки останова, добавленные командой Toggle Breakpoint, являются безусловными: когда вы попадаете на эту строку, отладчик в любом случае останавливает программу. Если вы редактируете новую или существующую точку останова, то у вас есть две дополнительные возможности — с помощью параметров диалогового окна Edit Breakpoint вы можете создать условные точки останова. В этих точках останова можно задать два вида условий:
- счетчик проходов (Pass Count);
- логические условия (Condition).
Задание для точки останова счетчика проходов сообщает отладчику, что останавливать программу нужно не при каждом достижении точки останова, а только на n-й раз. Например, если счетчик проходов равен 3, то отладчик останавливает программу только при третьем достижении данной точки останова. В качестве условия для точки останова можно также задать логическое выражение, например: I>6. Даже если вы не установите точек останова, то все равно сможете выйти в отладчик при выполнении программы из среды программирования. В любой момент работы программы нажмите клавиши Ctrl+Break. Отладчик найдет позицию в исходном коде, где вы прервали программу. Затем можно выполнить программу по шагам, трассировать ее, отследить или вычислить значение выражения. Средства отладки программ. Поиск нужного места. Возврат и сброс программы На этом шаге мы перечислим еще несколько инструментов, которые могут использоваться при отладке программы. Поиск нужного местаВозврат и сброс программы
Отладка VBA: #6 Пошаговое выполнение кода
Источник: studfile.net
Пошаговое выполнение программы с остановками на каждой команде
Википедия Значение слова в словаре Википедия
Трассиро́вка — процесс пошагового выполнения программы. В режиме трассировки программист видит последовательность выполнения команд и значения переменных на данном шаге выполнения программы, что позволяет легче обнаруживать ошибки. Трассировка может быть .
Примеры употребления слова трассировка в литературе.
Первой формой, положившей начало обсуждению, явилась трассировка процессов — взаимодействие двух процессов, выступающее в качестве полезного средства отладки программ.
В зависимости от типа команды потомок может вновь перейти в состояние трассировки и ожидать поступления новой команды или же выйти из цикла обработки сигналов и продолжить свое выполнение.
Компьютер выполнил команду и подал звуковой сигнал, предупреждающий о нехватке оперативной памяти для трассировки маршрута скиммера.
Параметры задания не требовали повторной трассировки пройденного пути, — ответил танк своим неуместно знойным голосом.
Поэтому разработали методы выборочного дампа, выборочной трассировки и вставки в программы команд для моментальных снимков.
Процесс-отладчик может вести одновременную трассировку нескольких процессов-потомков, хотя на практике эта возможность используется редко.
Источник: библиотека Максима Мошкова
Источник: xn--b1algemdcsb.xn--p1ai
Презентация на тему: «Понятие среды (системы) программирования. Основные компоненты среды программирования, их назначение»
Цель работы — описать системы программирования и основные компоненты среды программирования.
Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Наладить дисциплину на своих уроках.
Получить возможность работать творчески.
Просмотр содержимого документа
«Презентация на тему: «Понятие среды (системы) программирования. Основные компоненты среды программирования, их назначение»»
Понятие среды (системы) программирования. Основные компоненты среды программирования, их назначение
Выполнила: студентка МДИ-118 Янгаева Диана
Среда программирования – это набор инструментов, которые используются для преобразования символов в выполнимые вычисления.
Среда программирования это совокупность программ, обеспечивающих технологический цикл разработки программ: анализ, спецификация,
проектирование, кодирование (редактирование, компиляция, компоновка), тестирование, отладка.
Рассмотрев несколько интернет источников, я поняла, что на разных сайтах выделяют разное количество основных компонентов среды программирования, но все они не менее важны. Проанализировав , я выделила :
Основные компоненты среды программирования:
Транслятор (компилятор, интерпретатор)
Редактор – это средство для создания и изменения исходных файлов, которые содержат написанную на языке программирования программу.
Он выполняется с помощью редактора программ, который напоминает нам обычный текстовый редактор, такой как блокнот, word и т.д. Программист набирает в этом редакторе свою программу на С++ и, если это необходимо, вносит в нее различные изменения или исправления. Одним словом, работает с кодом программы как с обычным текстом.
Условно редакторы делятся на два типа.
Первый тип работает с последовательностью символов в текстовых файлах и обеспечивают расширенную функциональность – подсветку синтаксиса, сортировку строк, конвертацию кодировок, показ кодов символов и т.п. Часто такие редакторы называют редакторами кода, поскольку основное их назначение – это написание исходных кодов компьютерных программ. Примеры таких редакторов: Emacs (один из самых мощных по возможностям многоцелевой, свободный редактор); jEdit (свободный редактор на Java); Kate (мощный расширяемый свободный текстовый редактор с подсветкой синтаксиса для массы языков программирования и разметки); и др .
Второй тип редакторов имеет расширенные функции форматирования текста, внедрения в него графиков и формул, таблиц и объектов. Такие редакторы часто называют текстовыми процессорами и предназначены они для создания текстовых документов. К таким текстовым процессорам можно отнести Microsoft Word, WordPad и др.
Транслятор (компилятор) – транслирует символы из исходного файла в объектный модуль, который содержит команды в машинном коде для конкретного компьютера.
На этом этапе компилятором проверяется текст программы на наличие синтаксических ошибок и затем, если все хорошо, текст программы с подстановками, сделанными на предыдущем этапе, преобразуется в машинный код (код на языке, уже непосредственно понятный компьютеру)
Интерпретатор – выполняет исходный код программы в отличие от компилятора, переводящего исходный файл в объектный .
Компоновщик (редактор связей) – собирает объектные файлы программы и формирует исполняемый файл (разрешая внешние ссылки между объектными файлами).
Программы на С++ обычно содержат ссылки на функции, определенные где-либо вне самой программы, например, в стандартных библиотеках или в личных библиотеках групп программистов, работающих над данным проектом. Объектный код, созданный компилятором, обычно содержит «дыры» из-за этих отсутствующих частей. Компоновщик связывает объектный код с кодами отсутствующих функций, чтобы создать исполняемый загрузочный модуль (без пропущенных частей). Получаем в итоге файл с расширением .exe (для Windows), либо .out (для Linux).
Отладчик – это средство, которое дает возможность программисту управлять выполнением программы на уровне отдельных операторов для диагностики ошибок. Позволяет выполнять пошаговую трассировку (пошаговое выполнение программы с остановками на каждой команде или строке), отслеживать, устанавливать или изменять значения переменных в процессе выполнения программы, устанавливать и удалять контрольные точки или условия остановки и т.д.
Основные функции отладчика
Трассировка – пошаговое выполнение программы. Шагу соответствует одна строка исходного текста (в которой может быть более одного оператора).
Режим»без трассы подпрограмм» – пошаговое выполнение программы, при котором вызов подпрограммы отрабатывается как один оператор .
Режим»трасса подпрограмм» – пошаговое выполнение программы, при котором трасса включает все операторы подпрограмм.
Точка останова(breakpoint) приостанавливает выполнение программы. Может быть установлена только на выполняемом операторе
Возможен просмотр значений переменных при пошаговом выполнении программы
Рассмотрим самый последний этап — выполнение . С этого момента компьютер под управлением своего ЦПУ (центральное процессорное устройство) начинает последовательно выполнять в каждый момент времени по одной команде программы. Эти моменты времени носят название такт, каждый процессор имеет свою тактовую частоту, которую задает его внутренний тактовый генератор. Чем более высокая частота работы вашего процессора, тем, соответственно, лучше и тем быстрее выполняются ваши программы. На маленьких программах это, конечно же, не очень ощутимо, но когда запускаете какую-нибудь новомодную игрушку, то все очень даже заметно.
Цикл разработки программы может быть представлен следующей схемой:
Microsoft Visual Basic — средство разработки программного обеспечения, разрабатываемое корпорацией Microsoft и включающее язык программирования и среду разработки. Язык Visual Basic унаследовал дух, стиль и отчасти синтаксис своего предка — языка Бейсик, у которого есть немало диалектов. В то же время Visual Basic сочетает в себе процедуры и элементы объектно-ориентированных и компонентно-ориентированных языков программирования. Среда разработки VB включает инструменты для визуального конструирования пользовательского интерфейса.
- Среда программирования — это программа, в которой программисты разрабатывают свои программы.
- Основные компоненты среды программирования — это редактор, компилятор и отладчик.
- В редакторе набирается текст программы. Редактор имеет подсветку синтаксиса конкретного языка программирования.
- Компилятор переводит программу, набранную в редакторе, в машинный язык, непосредственно понятный компьютеру.
- Отладчик служит для нахождения ошибок в программе. А без ошибок в программах не бывает даже у очень опытных программистов.
- https://sites.google.com/site/1osnovyprogrammirovaniy1/home/glava-1-nacinaem-svoj-put/glava-2-cto-takoe-komputer/glava-3-azyki-programmirovania-azyk-s/glava-4-sreda-programmirovania
- http://www.maksakov-sa.ru/ProgrProd/KompProgrProd/index.html
- https://studfile.net/preview/4589209/page:3/
Источник: kopilkaurokov.ru