Какие существуют методы получения дополнительной информации о процессе выполнения программы

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

Вопрос 34. Виды ошибок в программах

Об ошибках в программе сигнализируют некорректная работоспособность программы либо ее полное невыполнение. В наше время для обозначения ошибки в программе используют термин «Баг» (с англ. Bug-жук).

Есть несколько типов ошибок:

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

Сама логика, на которой базируется вся программа, является ущербной. Чтобы найти решение такой ошибки нужно фундаментальное изменение алгоритма. Вам нужно начать копать в алгоритмическом уровне, чтобы сузить область поиска такой ошибки. (пример: задача программы вывести сумму двух чисел а и b.

Методы оптимизации

varc,a,b:integer;

Begin

readln(a,b);

writeln(c);

readln;

End.

2) Синтаксическая ошибка.Каждый компьютерный язык, такой как C, Java, Perl и Python имеет специфический синтаксис, в котором будет написан код. Когда программист не придерживаться «грамматики» спецификациями компьютерного языка, возникнет ошибка синтаксиса. Такого рода ошибки легко устраняются на этапе компиляции.

Begin

readln;

End.

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

Читайте также:
Как установить удаленные файлы программа

vara, b:real;

Begin

b:=7.5;

writeln(a);

readln;

End.

4) Ошибки среды выполнения (RunTime).Программный код успешно скомпилирован, и исполняемый файл был создан. Вы можете вздохнуть с облегчением и запустить программу, чтобы проверить ее работу. Ошибки при выполнении программы могут возникнуть в результате аварии или нехватки ресурсов носителя. Разработчик должен был предвидеть реальные условия развертывания программы. Это можно исправить, вернувшись к стадии кодирования.

vara:array[1..5] of integer;

Begin

writeln(a[0]);

readln;

end;

5) Арифметическая ошибка. Многие программы используют числовые переменные, и алгоритм может включать несколько математических вычислений. Арифметические ошибки возникают, когда компьютер не может справиться с проблемами, такими как «Деление на ноль», или ведущие к бесконечному результату. Это снова логическая ошибка, которая может быть исправлена только путем изменения алгоритма.

Эффективные методы обучения | Понимание информации

vara:real;

Begin

writeln(a);

Readln

End.

6) Ошибки ресурса. Ошибка ресурса возникает, когда значение переменной переполняет максимально допустимое значение. Переполнение буфера, использование неинициализированной переменной, нарушение прав доступа и переполнение стека — примеры некоторых распространенных ошибок.

vara:integer;

Begin

End.

7) Ошибка взаимодействия. Они могут возникнуть в связи с несоответствием программного обеспечения с аппаратным интерфейсом или интерфейсом прикладного программирования. В случае веб-приложений, ошибка интерфейса может быть результатом неправильного использования веб-протоколов

Синтаксические ошибки – это ошибки в записи конструкций языка программирования (чисел, переменных, функций, выражений, операторов, меток, подпрограмм).

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

Читайте также:
Программа дело инструкция видео

Вопрос 35. Методы получения дополнительной информации о процессе выполнения программы.

Для получения дополнительной информации об ошибке можно выполнить добавочные тесты или использовать специальные методы и средства:

— отладочный вывод;

— интегрированные средства отладки;

— независимые отладчики.

Отладочный вывод. Метод требует включения в программу дополнительного отладочного вывода в узловых точках. Узловыми считают точки алгоритма, в которых основные переменные программы меняют свои значения. Например, отладочный вывод следует предусмотреть до и после завершения цикла изменения некоторого массива значений. (Если отладочный вывод предусмотреть в цикле, то будет выведено слишком много значений, в которых, как правило, сложно разбираться.) При этом предполагается, что, выполнив анализ выведенных значений, программист уточнит момент, когда были получены неправильные значения, и сможет сделать вывод о причине ошибки.

Получение дополнительных сведений о процессе

Существует множество функций для получения сведений о процессах. Некоторые из этих функций можно использовать только для вызывающего процесса, так как они не принимают дескриптор процесса в качестве параметра. Вы можете использовать функции, которые принимают дескриптор процесса для получения сведений о других процессах.

  • Чтобы получить строку командной строки для текущего процесса, используйте функцию GetCommandLine .
  • Чтобы получить структуру STARTUPINFO , указанную при создании текущего процесса, используйте функцию GetStartupInfo .
  • Чтобы получить сведения о версии из исполняемого заголовка, используйте функцию GetProcessVersion .
  • Чтобы получить полный путь и имя файла исполняемого файла, содержащего код процесса, используйте функцию GetModuleFileName .
  • Чтобы получить количество дескрипторов для используемых графических объектов пользовательского интерфейса, используйте функцию GetGuiResources .
  • Чтобы определить, выполняется ли отладка процесса, используйте функцию IsDebuggerPresent .
  • Чтобы получить сведения о бухгалтерском учете для всех операций ввода-вывода, выполняемых процессом, используйте функцию GetProcessIoCounters .

Источник: learn.microsoft.com

Читайте также:
Почему программа не разворачивается на весь экран

МЕТОДЫ ПОЛУЧЕНИЯ ДОПОЛНИТЕЛЬНОЙ ИНФОРМАЦИИ О ПРОЦЕССЕ ВЫПОЛНЕНИЯ ПРОГРАММЫ

Для получения дополнительной информации об ошибке можно выполнить добавочные тесты или использовать специальные методы и средства:

— интегрированные средства отладки;

Отладочный вывод. Метод требует включения в программу дополнительного отладочного вывода в узловых точках. Узловыми считают точки алгоритма, в которых основные переменные программы меняют свои значения. Например, отладочный вывод следует предусмотреть до и после завершения цикла изменения некоторого массива значений. (Если отладочный вывод предусмотреть в цикле, то будет выведено слишком много значений, в которых, как правило, сложно разбираться.) При этом предполагается, что, выполнив анализ выведенных значений, программист уточнит момент, когда были получены неправильные значения, и сможет сделать вывод о причине ошибки.

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru