Linux Assembly Debugger - PullRequest
       19

Linux Assembly Debugger

11 голосов
/ 23 апреля 2011

Мне нужен отладчик для сборки на Linux.Я чрезвычайно удивлен ОТСУТСТВИЕМ отладчиков для Linux!Он должен иметь различные функции, такие как отображение регистров, а что нет.Я бы использовал GDB, однако он не совсем подходит для NASM.

Я бы предпочел, чтобы отладчик имел синтаксис Intel, но я могу принести жертву.

Я пробовал kdb, gdb /ддд и алд.Кто-нибудь знает что-нибудь еще?Не рекомендую strace, потому что я выхожу за пределы системных вызовов!

Ответы [ 3 ]

12 голосов
/ 23 апреля 2011

Я не уверен, что именно вы имеете в виду, когда говорите, что GDB не дружит с NASM. Дело в том, что GDB использует обозначение AT & T для отображения ассемблера. NASM использует нотацию Intel. Есть несколько различий, которые вы можете найти в Google.

Вы можете настроить GDB для отображения ассемблера, используя нотацию Intel. Команда set disassembly-flavor intel

Все программы, которые вы пробовали, kdb, ddd и friends, являются интерфейсом gdb. То есть они представляют вам другой пользовательский интерфейс, в то время как gdb используется в качестве их фоновой части.

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

Надеюсь, это поможет.

3 голосов
/ 23 апреля 2011

Может ли какой-либо из перечисленных отладчиков здесь помочь вам?

1 голос
/ 20 ноября 2017

Я действительно понимаю вопрос @ Saustin , потому что я тоже искал отладчик сборки Linux, что означает возможность создания точек останова, пошаговое выполнение, просмотр регистров в режиме реального времени. , вернуться назад (backtrace) или перейти вперед, просмотреть данные в памяти и т. д.,

Решение используется правильно DDD / GDB .

Во-первых, это скриншот, показывающий, как это выглядит.

ddd debugging an ASM file


Требуется специальное требование:

  • При создании исполняемого файла используйте специальный флаг -F stabs в nasm, например:

Командная строка Linux:

nasm -f elf -F stabs hello.asm -o hello_stabs.o
ld -m elf_i386 hello_stabs.o -o hello_stabs
  • Затем вы запускаете отладку, как обычно: ddd hello_stabs

  • Наслаждайтесь!

Опция -F stabs указывает ассемблеру включать отладочную информацию в выходной файл. DDD и GDB используют формат отладки STABS .


Источник и хороший короткий учебник:

Отладчик отображения данных (DDD), Краткое руководство пользователя

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...