调试不突出显示当前行

时间:2017-09-29 15:13:05

标签: assembly gdb kdbg

目前正在使用kdbg并且我发现尽管我可以调试代码并看到寄存器按预期更改,但我看不到当前行在源代码窗口中突出显示:

enter image description here

通过网络上的示例,我希望在源窗口中看到一条突出显示的行。

我在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

1 个答案:

答案 0 :(得分:-1)

当您从命令行以及汇编源代码所在的同一目录启动时,KDbg将突出显示当前行:

kdbg helloworld

不幸的是,当gdb没有从汇编源代码所在的目录启动时,它不会报告绝对路径。 (它只是说helloworld.asm: No such file or directory.)通过上述解决方法,gdb可以找到该文件并向KDbg报告足够的信息,以便它可以显示源代码。