На языках высокого уровня

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

СТРУКТУРА ОБЪЕКТОВ

Помимо простых переменных разной разрядности, в программах на Си используются также переменные с плавающей запятой, структуры (struct), объединения или союзы (union), указатели, одномерные и многомерные массивы. Последние могут состоять как из простых объектов, так и из сложных (структур, союзов, указателей).

Использование сложных объектов в программах, безусловно, удобно. Однако ввиду сложности их структуры крайне желательно иметь возможность ее адекватного отображения на этапе отладки. В отладчиках фирмы "Фитон" сложные объекты могут отображаться как в сжатом (список значений элементов), так и в развернутом виде с указанием адреса, значения и типа каждого элемента массива и/или члена структуры. Реализация указателей в разных компиляторах различна. То, что МК обычно имеет несколько адресных пространств, создает дополнительные трудности, так как при работе с указателем должно быть известно, помимо адреса, и адресное пространство, куда указывает указатель. В некоторых реализациях идентификатор адресного пространства является составной частью значения указателя, в других компилятор заранее "знает" это и генерирует соответствующий код.

Кроме этого, компонент адреса в указателе может быть размером от 8 до 32 бит. При отображении значений указателей отладчик должен "знать" все детали их реализации в каждом компиляторе.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: