Под windows по int3 можно попасть в обработчик исключений, и получив там доступ к структуре CONTEXT, просмотреть и при необходимости модифицировать регистры. Есть ли подобный механизм под linux? Ради интереса вставил в код int3 - программа вывела в консоль сообщение Trace/Breakpoint trap и молча завершилась. Как заставить систему передать управление на мой код по int3?
B_108 Телепат что-ли? Почти угадал Есть самодельная тулза под windows для отладки c++ прог типа VKDEBUG с набором функций DBG_DEC(x) DBG_HEX(x) DBG_STR(sz) DBG_DBL(xx) DBG_LINE DBG_BREAK и я хотел её повторить для linux. Загвоздка в последней функции: под винду ставил обработчик и прога по DBG_BREAK попадала туда. Там я мог посмотреть и при желании модифицировать регистры. Вот мне и нужен аналог SetUnhandledExceptionFilter.
B_108 Изначально модуль на си и для си, просто подключается .h и .cpp к отлаживаемому проекту. Для асма есть RadAsm'овый OutPut Window, вполне хватает. Хотя можно и для ассемблерных переписать. Разницы не вижу, главное найти способ остановить прогу и затем её продолжить. Нарыл кое-какую доку по регистрации собственного syscall, но это больно громоздко получается, и надо перекомпилировать ядро.