Имена модулей
Имя модуля – это имя объектного модуля, из которого при линковке собирается вся ваша программа или ее часть. Отладочная информация о символических именах и исходном тексте программы сохраняется в каждом модуле.
Имя модуля образуется из имени файла с исходным текстом программы. Если, например, в вашем проекте содержится исходный файл с именем MCOMMAND.C и Си-компилятор сгенерировал объектный файл с именем MCOMMAND.OBJ, то имя модуля будет MCOMMAND.
Правила образования символических имен
Следующие правила используются при образовании символических имен:
Регистр букв в имени не различается. SYMBOL эквивалентно Symbol.
Первый символ в имени должен быть: ‘A’-’Z’, ‘a’-’z’, ‘_’, или ‘?’.
Последующими символами могут быть: ‘A’-’Z’, ‘a’-’z’, ‘0’-’9’, ‘_’, или ‘?’.
ПРИМЕЧАНИЕ
Когда используется условный тернарный оператор (“?:”) в отладчике µVision2 с символическим именем, которое начинается со знака вопроса (“?”), вы должны вставить пробел между тернарным оператором и именем. Например, R5 = R6 ? ?symbol : R7.
Полное указание имени
Символические имена могут быть записаны с использованием полного указания имени, которое включает в себя имя модуля и имя функции, в которой символическое имя определено. Для полного указания имени используются следующие компоненты:
Module Name (имя модуля) определяет имя модуля, в котором определено символическое имя.
Line Number (номер строки) определяет адрес участка кода, сгенерированного для отдельной строки модуля.
Function Name (имя функции) определяет функцию, в которой определено локальное символическое имя.
Symbol Name (символическое имя) определяет собственно имя символа.
Эти компоненты могут комбинироваться, как показано в следующей таблице:
|
Компоненты имени |
Полностью указанное имя адресует… |
|
|
|
|
\ModuleName\LineNumber |
… номер строки LineNumber в модуле ModuleName. |
|
\ModuleName\FunctionName |
… функцию FunctionName в модуле ModuleName. |
|
\ModuleName\SymbolName |
… глобальное имя SymbolName в модуле ModuleName. |
|
\ModuleName\FunctionName\SymbolName |
… локальное символическое имя SymbolName в функции FunctionName в модуле ModuleName. |
Примеры полностью указанных имен:
|
Полностью указанное имя |
Определяет … |
|
|
|
|
\MEASURE\clear_records\idx |
… локальный символ idx в теле функции clear_records в модуле MEASURE. |
|
\MEASURE\MAIN\cmdbuf |
… локальный символ cmdbuf в теле функции MAIN в модуле MEASURE. |
|
\MEASURE\sindex |
… символ sindex в модуле MEASURE. |
|
\MEASURE\225 |
… строка номер 225 в модуле MEASURE. |
|
\MCOMMAND\82 |
… строка номер 82 в модуле MCOMMAND. |
|
\MEASURE\TIMER0 |
… символическое имя TIMER0 в модуле MEASURE. Это символическое имя может быть функцией или глобальной переменной. |
