2013-11-29 2 views
1

Можно ли писать файлы ядра вручную? позволяет предположить, что у меня есть двоичный резерв памяти из стека, кучи, кода и всех регистров процессора.Могу ли я написать свое собственное ядро, которое читается GDB?

Возможно ли создать основной файл, который будет выглядеть в GDB, как если бы настоящий процесс разбился и сгенерировал этот файл ядра?

Основное использование этого - то, что я запускаю виртуальную машину на образцовом коде. Предположим, что архитектура является PPC. Когда я сталкиваюсь с проблемой, я хочу написать основной файл , который можно прочитать GDB в Linux, чтобы помочь отладить проблему.

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

Спасибо, Itay

+0

Короткий ответ: уверен, что вы могли. Как файл не более 1 и 0, вы можете точно сгенерировать что-либо своим, поскольку информация будет просто интерпретироваться. Вам просто нужно было знать, что должны представлять данные в таком файле, чтобы подделать его. – dhein

+0

Но вопрос в том, достаточно ли этой информации? Предполагается, что требуется больше, которое не доступно вне этих инструментов? и как насчет формата? хорошо ли он определен и известен? –

+0

Я так curoius, что, черт возьми, вам нужно сделать с этим :-) – peterh

ответ

0

возможно создать файл дампа, который будет выглядеть в GDB, как если бы реальный процесс произошел сбой, и создан этот файл дампа?

Это точно. Формат ядра несколько компилируется и зависит от системы (и вы не сказали, в какой системе вы хотите получить решение).

Этот answer дает возможные решения ELF.

Если вы находитесь в системе, отличной от ELF, вам нужно будет сообщить нам, какой из них.

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