В настоящее время пытаюсь отладить с помощью KDbg / gdb исходный код Towers of Hanoi из http://www.kernelthread.com/projects/hanoi//html/asm.html (отличный ресурс)
Поскольку я хотел посмотреть, как стек используется в этой задаче, я собрал его с NASM и использовал GCC для его связывания. Однако я заметил, что в KDbg текущая точка выполнения не обновлялась (то есть я не мог сказать, где я находился в файле). Поскольку KDbg использует gdb, я запустил код в gdb, чтобы проверить, не возникли ли у меня похожие проблемы.
Если я установлю точку останова на строке # 30 в программе (которая является строкой в основной функции), я получу следующее:
(gdb) break 30
Breakpoint 2 at 0x804840b: file hanoi.asm, line 30.
(gdb) next
Single stepping until exit from function main,
which has no line number information.
В настоящее время я собираю сборку с помощью следующего небольшого скрипта, который я написал (возможно, мне следует перейти на файл make, но до сих пор это работало)
bschlinker@net1develop02:~/.scripts$ cat asmgcc
# /usr/bin/sh
nasm -f elf -g -F stabs $1.asm -l $1.lst
gcc -g $1.o -o $1
Я только что мигрировал из CentOS в Ubuntu, поэтому я не уверен, является ли это проблемой среды ОС, с которой я не знаком, или другой проблемой.
Как всегда, заранее спасибо за любую помощь.