2015-03-25 4 views
0

This question касается того, почему вы не можете прочитать GDTR и LDTR в режиме GDB в режиме пользователя. Но я не понимаю, почему это не должно быть возможным при отладке ядра Linux (скомпилировано KGDB), используя GDB на другой машине с последовательным кабелем.Как читать GDTR и LDTR в kgdb?

Отлаженное ядро ​​должно быть в состоянии сообщить отладчику значения GDTR и LDTR, но, похоже, нет никакой команды GDB, чтобы заставить это сделать. Есть ли веская причина для этого? Это что-то, что никто не реализовал?

ответ

1

Как вы говорите, никто не реализовал его. gdb, в частности, не считает эти допустимые регистры, поэтому интерфейс отладки ядра даже не пытается их отправить.

Если вы не хотите менять gdb, вам необходимо воспользоваться обходным решением для получения этой информации. Одной из таких возможностей, о которых я могу думать, является команда ThreadExtraInfo, которая должна иметь возможность отправлять произвольное строковое сообщение, которое печатается в gdb. Поэтому вы можете добавить эту информацию в kernel/debug/gdbstub.c.

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

  • Нет связанных вопросов^_^