Обрабаотчик третьего прерывания у меня выглядит вот так: Код (Text): void int03_handler(void) { printf("int 3 called!"); __asm__ __volatile__("leave\n iret\n"); Тип шлюза - 0xf(шлюз ловушки). Привелегии 3 ( возможен вызов с прикладнова уровня) При попытке отладить прогу gdb получаю вот что: Код (Text): (gdb) break main Breakpoint 1 at 0x080484d2 (gdb) run Starting program:/home/uighur/t int 3 called! Program reseived signal SIGSEGV, Segmentation fault. 0x00000000 ??() (gdb) ОС-FreeBSD 5.5. Как сделать что бы после вызова обработчика управление передавалось туда, где и была команда int3?
FreeBSD я не знаю. Вот пример похожего модуля для Linux. Тестировал на 2.6.18.4 ядре. Нормально работает, систему не роняет, все что надо перехватывает.