我正在Windows 98(DOS模式)进行编码,并且我的程序崩溃了。我可以很好地重现崩溃,但是我的正常调试技巧(堆栈跟踪,printf printf隔离崩溃)是失败的,因为图形模式(VBE),DOS模式和中断处理的组合显然不是GDB是什么制作。

我已经尝试评论代码的部分以隔离问题,但是我无法准确地追踪崩溃的代码位置。

因此,我能得到的只是一堆寄存器。有什么方法可以从寄存器(例如EIP)中检索一行代码?我正在编码。

有帮助吗?

解决方案

谷歌搜索后,我找到了一些 GDB文档 有了这个:

信息符号addr

使用此命令似乎是我可以从地址获得函数名称的最接近的东西。它不会给出确切的代码行,但总比没有好。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top