Отладчик Ассемблера Для Linux

Мне нужен отладчик для сборки в Linux. Я очень удивлен отсутствием отладчиков для Linux! Он должен иметь различные функции, такие как отображение регистров, а что нет. Я бы использовал GDB, однако он не совсем дружелюбен к NASM.

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

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

3 ответов


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

вы можете настроить gdb для отображения ассемблера с помощью нотации Intel. Команда установлена разборка-вкус intel

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

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

надеюсь, что это помогает.


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


Я действительно понимаю @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 использовать удары отладку.


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

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