Это возможно. Однако вам нужны символы для добавления символических точек останова, а символы предоставляются информацией отладки; убедитесь, что ваш ассемблер и компоновщик предоставляют их. РЕДАКТИРОВАТЬ С GNU as
, используйте as -g
. Или просто используйте gcc -g
: если вы дадите ему файл .s
, он при необходимости вызовет ассемблер и компоновщик.
GDB понимает информацию отладки в нескольких форматах: удары , COFF , PE , DWARF , SOM, (Некоторые из них являются исполняемыми форматами с разделами отладки, другие являются форматами отладочной информации, которые могут быть встроены в исполняемые файлы, такие как ELF.) gcc -g
обычно выбирает то, что по умолчанию для платформы, gcc -ggdb
обычно выбирает наиболее выразительный (в зависимости от ваши версии, возможно DWARF-3).
Если у вас есть отладочная информация, встроенная в исполняемый файл или связанная с ней, gdb
попытается загрузить ее автоматически. Если он у вас есть в другом месте, вам может понадобиться file
, чтобы указать gdb
, где его найти.
Вы все еще можете отлаживать без символической информации. Например, вы можете ввести break *0x89abcdef
, чтобы вставить точку останова по этому адресу, если там есть код.