
- •Институт радиоэлектроники и телекоммуникаций Кафедра радиотехнических систем конспект лекций по дисциплине
- •1.2. Идентификация файлов
- •2.1. Система меню, основные сведения о меню
- •2.2. Системное меню -
- •2.3. Меню File (Файл)
- •2.3.1. Команда New (Новый)
- •2.4. Меню Edit (Редактирование)
- •2.4.7. Команда Copy example (Скопировать пример)
- •2.4.8. Команда Show clipboard (Показать содержимое текстового буфера)
- •2.5. Меню Search (Поиск)
- •2.5.1. Команда Find... (Найти)
- •2.5.2. Команда Replace... (Заменить)
- •2.5.4. Команда Go to line number... (Перейти к строке с номером)
- •2.5.7. Команда Locate function... (Местоположение функции)
- •2.6. Меню Run
- •2.6.6. Команда Arguments... (Аргументы)
- •2.7. Меню Compile (Компиляция)
- •2.8. Меню Debug (Отладка)
- •2.8.4. Команда Watches (Просмотр выражений)
- •2.8.4.2. Команда Delete watch (Удалить выражение просмотра)
- •2.8.4.3. Команда Edit watch... (Редактировать выражение просмотра)
- •2.8.4.4. Команда Remove all watch (Удалить все выражения просмотра)
- •2.8.6. Команда Breakpoints... (Точки останова)
- •2.9. Меню Project (Проект)
- •2.10. Меню Options (Управление системой)
- •2.11. Меню Window (Окно)
- •2.11.3. Команда Cascade (Каскадное расположение)
- •2.11.4. Команда Title (Мозаичное расположение)
- •2.11.7. Команда Close all (Закрыть все)
- •2.11.8. Команда Message (Сообщение)
- •2.11.9. Команда Output (Выводимые данные)
- •2.11.10. Команда Watch (Выражение просмотра)
- •2.11.12. Команда Register (Регистры)
- •2.11.13. Команда Project (Проект)
- •2.11.14. Команда Project notes (Примечания)
- •2.12. Меню Help (Помощь)
- •2.12.1. Команда Contents (Содержание)
- •2.12.5. Команда Help on help (Информация по системе подсказки)
- •2.12.6. Команда Active file... (Активный файл)
- •2.12.7. Команда About... (о...)
- •3.2. Команды редактора
- •4. Компиляция программ
- •4.1. Установка параметров среды и режимов работы компилятора
- •4.2. Виды компиляции программ
- •4.3. Отладка программ на этапе компиляции Просмотр сообщений на этапе компиляции
- •Success : Press any key
- •Корректировка синтаксических ошибок
- •5. Компоновка программ
- •5.1. Команды компоновки программ
- •5.2. Отладка программ на этапе компоновки
- •Errors : Press any key
- •6. Отладка программ на этапе выполнения программы
- •6.1. Основные понятия
- •6.2. Подготовка системы к отладке программы
- •6.3. Установка, удаление и просмотр текущих значений Установка и удаление переменных и выражений из окна просмотра
- •Просмотр текущих значений
- •6.4. Трассировка программы
- •6.5. Работа с функциями
- •7. Сообщения об ошибках
- •Переменные, используемые в сообщениях об ошибках
- •7.1. Сообщения об ошибках на этапе компиляции программы Сообщения об ошибках компиляции
- •Критические (фатальные) ошибки (Fatal error)
- •7.2. Сообщения об ошибках на этапе компоновки
- •Критические (фатальные) ошибки компоновки
- •7.3. Сообщения об ошибках на этапе выполнения программы Ошибки этапа выполнения программы
- •Floating point error: Divide by zero
- •Оглавление
7. Сообщения об ошибках
В текстах сообщений об ошибках используется ряд стандартных переменных. Их перечень дан в табл. 5.
Таблица 5
Переменные, используемые в сообщениях об ошибках
Переменная |
Назначение переменной |
1 |
2 |
'argument' |
Аргумент |
'class' |
Имя класса |
'errorcode' |
Код ошибки |
'filename' |
Имя файла с расширением или без него |
'function' |
Имя функции |
'group' |
Имя группы |
'identifier' |
Идентификатор |
'language' |
Наименование языка |
'linenum' |
Номер строки в файле |
'member' |
Имя элемента данных или функции |
'message' |
Сообщение |
'module' |
Имя модуля |
'num' |
Числовое значение |
'number' |
Реальное число (вещественное) |
'option' |
Параметр (режим) |
'parameter' |
Имя параметра |
'path' |
Имя пути |
'reason' |
Заключение, основание, вывод |
'segment' |
Имя сегмента |
'size' |
Размер |
'specifier' |
Тип описателя (спецификатора) |
'symbol' |
Имя символа |
'type' |
Имя типа |
'XXXXh' |
Четырехразрядное шестнадцатеричное число, стоящее перед символом h |
Приведенные далее тексты сообщений получены из системы помощи по команде Heip\Contents\Error Messages.
По каждой ошибке в приложениях приводится ее текст, перевод и, в некоторых случаях, пояснения к сообщению об ошибке. Сообщения упорядочены по алфавиту (текста на английском языке).
7.1. Сообщения об ошибках на этапе компиляции программы Сообщения об ошибках компиляции
Компилятор всегда делает попытку отыскать большинство реально существующих ошибок в исходном тексте программы в каждой фазе компиляции (препроцесссрная обработка, синтаксический анализ, оптимизация и генерация кодов – машинной программы). В процессе работы компилятор Borland C++ выдает 3 класса диагностических сообщений: fatal errors, errors и warnings.
Список сообщений об ошибках этапа компиляции можно вызвать с помощью команды Help\Contents\Error Messages. В системе подсказок имеются следующие таблицы сообщений об ошибках на этапе компиляции:
Compile-time fatal errors - фатальные (грубые) ошибки;
Compile-time errors - ошибки;
Compile-time warnings - предупреждения.
В случае возникновения фатальной ошибки процесс компиляции немедленно прекращается. Надо установить ошибку, исправить и снова компилировать программу.
Ошибка (Error) формируется компилятором в случае обнаружения им синтаксической ошибки в программе, ошибки обращения к диску или доступа к памяти, а также ошибки в командной строке.
Предупреждение (Warning) формируется в случае, если какая-то ситуация в программе кажется подозрительной компилятору с точки зрения ее корректности, но является допустимой в данном подмножестве языка, а также в случае обнаружения машинозависимых (непереносимых) конструкций в исходном тексте программы.
При обнаружении определенного количества ошибок или предупреждений компиляция прекращается. Задать предельное количество ошибок и предупреждений можно в параметрах Errors и Warnings команды Options/Compiler /Messages/Display.
Каждое сообщение компилятора имеет следующую структуру:
класс-сообщения: текст-сообщения,
где класс-сообщения – это одно из слов: Warning или Error;
текст-сообщения – включает сообщение об ошибке и ссылку на функцию, в которой обнаружена ошибка.
Например:
Error: If statement missing (in function main)
класс – сообщение об ошибке – ссылка на функцию
Перечень различных классов сообщений компилятора дан в следующих разделах. В конце сообщения на экране нет точки, поэтому ее нет и в сообщениях, приведенных в приложении.
Типы ошибок, обнаруживаемых компилятором:
синтаксические;
ошибки доступа к диску или ОП;
ошибки командной строки.