目前正在使用kdbg并且我发现尽管我可以调试代码并看到寄存器按预期更改,但我看不到当前行在源代码窗口中突出显示:
通过网络上的示例,我希望在源窗口中看到一条突出显示的行。
我在Ubuntu 16.04上使用kdbg 2.5.4。 Makefile内容是:
helloworld: helloworld.o
ld -m elf_i386 -o helloworld helloworld.o
helloworld.o: helloworld.asm
nasm -f elf32 -g -F stabs helloworld.asm -o helloworld.o
更新1
它可能有也可能没有关系,但为了完整起见,在Xterm窗口中,KDbg:程序输出'窗口我可以看到以下内容:
warning: GDB: Failed to set controlling terminal: Operation not permitted
更新2
我按照评论中的建议更新了链接器命令,但仍然遇到同样的问题:
helloworld: helloworld.o
ld -g -m elf_i386 -o helloworld helloworld.o
答案 0 :(得分:-1)
当您从命令行以及汇编源代码所在的同一目录启动时,KDbg将突出显示当前行:
kdbg helloworld
不幸的是,当gdb没有从汇编源代码所在的目录启动时,它不会报告绝对路径。 (它只是说helloworld.asm: No such file or directory.
)通过上述解决方法,gdb可以找到该文件并向KDbg报告足够的信息,以便它可以显示源代码。