Как Отлаживать С Помощью GDB

#debugging #gdb #gdbserver #game-boy-advance

Вопрос:

Я новичок в эмуляторе. В настоящее время я пытаюсь просмотреть src-код mgba(эмулятор GBA).

https://github.com/mgba-emu/mgba

Я построил и нашел вариант -g .

-g вариант означает Start GDB session (default port 2345) помощь.

Можно ли его отладить с помощью GDB?

Как я могу отлаживать с помощью GDB?

Пожалуйста, скажите мне, как или другими способами отследить исходный код?

(Извините за мой плохой английский.)

Комментарии:

1. Не могли бы вы уточнить, пожалуйста, — вы хотите отладить работу самого эмулятора mgba или вы хотите отладить игру gameboy?

2. мгба. я хочу убедиться, что мой исходный код чтения верен.

3. ОК. В этом случае вам просто нужен обычный сеанс gdb. Не предоставляйте mgba такой -g возможности. Вместо этого используйте командную строку оболочки, которую вы обычно используете для запуска mgba, но поставьте слово gdb в начале.

Ответ №1:

Эта -g опция означает , что вы можете удаленно отлаживать свой ПЗУ с помощью удаленного отладчика gdb типа gdb ghidra или radare2 . Вам понадобится другой инструмент, как упоминалось ранее.

К сожалению, вы не можете удаленно отлаживать классический ПЗУ gameboy. Это работает только для ПЗУ gameboy advance.

Если вы просто хотите отладить ПЗУ без доступа к удаленной отладке, вы все равно можете использовать gdb из mgba без удаленной отладки с помощью команды

 mgba -d your_rom.gb
 

должен запуститься терминал. Затем используйте команды gdb, например, c для продолжения.

Если вам не нравится gdb, вы можете посмотреть BGB , предпочитаете ли вы более графический отладчик.