4

我刚刚开始使用 KDbg,很难找到我的问题的答案。我在 KDbg 中打开一个文件(我打开了一个用程序集编写的可执行文件),有一个弹出窗口显示

GDB:从 /home/myputer/Desktop/ASMdirectory/chapter5/eatsyscall/eatsyscall...读取符号...完成。

如何获得在调试器中运行程序并添加断点等选项。它不允许我单击按钮来运行程序或添加任何断点,这里有问题吗?我错过了一步吗?提前致谢。顺便说一句,我正在为我的汇编程序使用 Linux(Ubuntu) 和 NASM。

4

1 回答 1

1

您正在运行的软件版本是什么?

例如,我正在运行 Ubuntu 12.04、kdbg 2.5.0(KDE 开发平台 4.8.5)、gdb 7.4-2012.04、nasm 2.09.10

你在用邓特曼的书,是吗?我假设您更改SECTION .txt为,SECTION .text因为当 GDB 尝试读取符号时,它报告“完成”而不是“在符号文件中找不到任何代码段”

我建议直接使用 gdb 而不是 kdbg。我不知道如何让 kdbg 显示反汇编代码或列表(或如何直接发送任何 gdb 命令)。我认为可以做的最好的是:

  1. 运行 kdbg
  2. 打开可执行文件
  3. 切换到断点选项卡
  4. 在编辑框中输入“_start”(我相信这是您唯一可见的符号)。
  5. 点击“添加断点”按钮
  6. 点击“运行”按钮
  7. 执行应该在 _start 中断
  8. 切换到寄存器选项卡
  9. 点击“按说明进入”按钮以浏览您的代码

kdbg 似乎无法重新启动执行。看来程序必须被杀死然后再次运行。

于 2013-06-27T16:09:44.233 回答