GDB не может разрешить символы для ядра Linux

Чтобы немного расширить ответ от Marc (Марк, не стесняйтесь включать это в свой, и я удалю этот ответ), это указано в разделе 7.8 спецификации:


предопределенные операторы сдвига перечислены ниже.

Сдвиг влево:

  • int operator & lt; (int x, int count);
  • uint operator & lt; (uint x, int count);
  • длинный оператор & lt; (long x, int count);
  • ulong operator & lt; (ulong x, int count);

. & lt; оператор смещает x слева на число бит, вычисленное, как описано ниже.

Биты высокого порядка вне диапазона результата результата x отбрасываются, остальные биты сдвигаются влево, а младшие разряды пустые позиции битов установлены на ноль.

Сдвиг вправо:

  • int operator >> (int x, int count);
  • uint operator> > (uint x, int count);
  • long operator >> (long x, int count);
  • ulong operator >> (ulong x, int count);

Оператор >> сдвигает x справа на число бит, вычисленное, как описано ниже.

Когда x имеет тип int или long, младшие биты x отбрасываются оставшиеся биты сдвигаются вправо, а старшие разряды старшего разряда устанавливаются на ноль, если x неотрицательно и устанавливается в единицу, если x отрицательно.

Когда x имеет тип uint или ulong , младшие разряды x отбрасываются, остальные биты сдвигаются вправо, а позиции пустого разряда высокого порядка устанавливаются на ноль.

Для предопределенных o число бит для сдвига вычисляется следующим образом:

Когда тип x является int или uint, счетчик сдвига задается младшими пятью битами счета. Другими словами, подсчет сдвига вычисляется из count & amp; 0x1F.

Когда тип x длинный или ulong, счетчик сдвига задается шестью битами младшего порядка. Другими словами, подсчет сдвига вычисляется из count & amp; 0x3F.

Если итоговое значение сдвига равно нулю, операторы сдвига просто возвращают значение x.


1
задан Emin Ghuliev 11 March 2019 в 14:49
поделиться

1 ответ

Сначала вам нужно установить kernel-debug-devel, kernel-debuginfo, kernel-debuginfo-common для соответствующей версии ядра. Затем вы можете использовать утилиту аварийного отключения для отладки ядра, которое внутренне использует gdb

0
ответ дан Krishikesh Salunke 11 March 2019 в 14:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: