Как заставить cgdb показывать код сборки?

Я не могу найти способ для cgdb разобрать двоичный файл и показать код сборки с текущей инструкцией в окне кода. Возможно ли это и какую команду мне использовать? Я использую Mac OS X и получил cgdb из репозитория homebrew.

3 ответа

Недавнее обновление (февраль 2017 г.) cgdb позволяет сделать это. Вам понадобится cgdb версии 0.7.0 или новее. (На момент написания статьи это последний выпуск). Возможно, вам придется скомпилировать это из источника самостоятельно, учитывая, насколько это недавно.

Более подробную информацию о добавлении поддержки разборки можно найти здесь: https://github.com/cgdb/cgdb/issues/44

Для просмотра разборки в cgdb нажмите esc и наберите :set disвойти

Чтобы вернуться к источнику (если имеется), повторите это, кроме типа :set nodis,

display/i $pc всегда показывает разборку для текущей инструкции в окне консоли.

Чтобы показать разборки для получения дополнительных инструкций, префикс i с количеством инструкций.

Например,

display/5i $pc

показывает разборку всегда для следующих 5 инструкций.

Я работаю над MacOS, чтобы обезвредить бинарную бомбу и считаю, что "gdb -tui" будет полезен. Чем я нашел "cgdb" может сделать код красочным. Но то, что мы хотим увидеть, это показать дизассемблированный код в окне кода, ответ выше показывает только код построчно или только неизменные строки.

К сожалению, я обнаружил сообщение о том, что "cgdb не поддерживает отображение сборки (пока)". https://groups.google.com/forum/

   Sorry guys, cgdb does not support assembly display (yet).  It's a 
frequently requested feature, and when we get a little more time to 
work on cgdb we will probably add this. 
Starting cgdb with the -tui option is a bad idea -- the TUI (text user 
interface) is an alternative curses interface to gdb, not a part of 
cgdb.  It will not play nice with cgdb. 
Mike 
-- 
Mike Mueller

Ну, это 12/11/15, но, похоже, все еще не может показать код сборки в окне кода, как GDB в режиме TUI.

Другие вопросы по тегам