我正在 Windows 98(DOS 模式)中编码,我的程序严重崩溃。我可以很好地重现崩溃,但是我的正常调试技巧(堆栈跟踪、printf 来隔离崩溃的整个过程)失败了,因为图形模式(VBE)、DOS 模式和中断处理的组合显然不是 GDB 的样子专为。
我尝试注释部分代码来隔离问题,但无法准确跟踪崩溃的代码位置。
所以我能得到的只是一堆寄存器。有没有办法从寄存器(如EIP)中检索一行代码?我正在用 C 编写代码。
最佳答案
经过一番谷歌搜索,我发现了一些GDB documentation与此:
info symbol addr
使用此命令似乎是我能找到的从地址获取函数名称的最接近的方法。它不会给出确切的代码行,但总比没有好。
关于c - 在 Windows 98 上调试 : Get code line from EIP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4498593/