Я смотрю в GDB, для реализации точки останова. Для простоты я взял самый первый GDB релиз 2.51 (выпущенный в 1988 году). Я вижу данные вставки точки останова как -
#define BREAKPOINT {0x4e, 0x4f}
что такое 0x4e и 0x4f?
0x4E 0x4F - это машинная инструкция Motorola 68000 для «TRAP # 15». Инструкция TRAP вызывает исключение, и на некоторых платформах ловушка № 15 определяется как исключение точки останова. Вот почему 0x4E и 0x4F появляются в вашем источнике GDB 2.51 для работы с такими платформами, как sun3.
Ссылки:
Это Справочное руководство для программиста семейства Motorola M68000 содержит подробности инструкции TRAP на стр. 4-188. В частности, инструкция представлена 12-битным значением 010011100100, за которым следует 4-битный «вектор» (в данном случае 1111). Таким образом, «ЛОВУШКА № 15» представлена как 0x4E 0x4F. Sun специально использует вектор 15 для точки останова / трассировки - Поиск Google показывает многочисленные комментарии и примеры исходного кода.