2008-11-28 2 views

ответ

8

Да - в эмуляторе.

В противном случае, нет. В любом случае это сложно сделать, и плохая идея. ISRs (обычно) должны работать с аппаратным обеспечением, и аппаратное обеспечение может легко вести себя по-разному, когда вы оставляете промежуток в полсекунды между каждой инструкцией.

Настройте вместо этого систему регистрации.

ЗРМС также неизящно «украсть» процессор от других процессов, поэтому многие операционные системы рекомендуют держать ваши ISRS чрезвычайно коротким и делать только то, что строго необходимо (например, дело с любым настоятельная оборудования вещи, и планирование задача, которая будет иметь дело с событием должным образом). Поэтому теоретически ISR должны быть настолько простыми, что их не нужно отлаживать.

Если это аппаратное поведение, это проблема, вместо этого используйте какой-то журнал, как я уже сказал. Если аппаратное обеспечение не имеет большого разума между длинными промежутками времени между инструкциями, то вы можете просто написать большую часть драйвера в пространстве пользователя - и вы можете использовать отладчик на этом! может!

3

В зависимости от вашей платформы вы можете сделать это, обратившись к порту отладки вашего процессора, как правило, используя интерфейс JTAG. Имейте в виду, что вы радикально меняете все, что связано с временем с этим методом, поэтому ваш сеанс отладки может быть бесполезным. Но опять же, многие ошибки могут быть пойманы таким образом. Также учитывайте сопоставления памяти на основе MMU, поскольку отладчики JTAG часто не учитывают их.

1

В Windows с прикрепленным kernel debugger вы можете разместить точки останова в обработчиках прерываний.

Смежные вопросы