【问题标题】:Debugging on Windows 98: Get code line from EIP在 Windows 98 上调试:从 EIP 获取代码行
【发布时间】:2011-05-28 18:27:12
【问题描述】:

我在 Windows 98(DOS 模式)下编码,我的程序严重崩溃。我可以很好地重现崩溃,但是我的正常调试技巧(堆栈跟踪,printf 整个事情以隔离崩溃)失败了,因为图形模式(VBE)、DOS 模式和中断处理的组合显然不是 GDB 是为。

我已尝试注释部分代码以隔离问题,但我无法准确追踪崩溃的代码位置。

所以我能得到的只是一堆寄存器。有没有办法从寄存器中检索一行代码(如 EIP)?我正在用 C 编写代码。

【问题讨论】:

  • 我认为诀窍是立即从您的计算机中删除 Windows 98 ;D
  • 你是从哪一年发布的?
  • @astander 2010,但感觉不像。 @William R Windows 7 不允许非特权程序干扰中断和 BIOS 调用。

标签: c debugging dos windows-98


【解决方案1】:

经过一番谷歌搜索,我找到了一些GDB documentation

信息符号地址

使用此命令似乎是我能找到的最接近从地址获取函数名称的方法。它不会给出确切的代码行,但总比没有好。

【讨论】:

    猜你喜欢
    • 2019-03-01
    • 2022-01-24
    • 2010-10-13
    • 1970-01-01
    • 2013-08-27
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多