0

目前使用 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
4

1 回答 1

-1

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

kdbg helloworld

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

于 2017-10-23T20:09:43.447 回答