当使用ml编译并且使用link连接后 的exe 汇编程序 如何调式?
用过debug后 键入u
结果
-u
1401:0000 0E push CS
1401:0001 1F pop DS
1401:0002 BA0E00 mov DX,000E
1401:0005 B409 mov AH,09
1401:0007 CD21 INT 21
...
不知道从哪里来的
这与源码中的内容 不一样
使用其他命令 也是如此 得到信息 不对应源码
使用ml编译的文件可以使用gdb 调式吗
就是没有符号表 有其他办法吗
如何调式 ml编译的汇编源文件?
------解决方案--------------------
debug your.exe 这样让 debug 加载 your.exe 程序,就可以对其进行调试了。
------解决方案--------------------
那,应该是你用错了调试软件了。debug 只是应用于 dos16 类程序;看来你写的是 Win32 类的?那比较简单的是用 Ollydbg ,gdb 还有 windbg 什么的也可以吧,不过好像比 Ollydbg 难上手些。
用 debug 来调试 Win32 类的程序,看到是只是个 Stub 块,用来提示本程序需要 Win32 运行环境;这大概就是上面所看到的内容了。
------解决方案--------------------
抱歉,我没有使用过 gdb,不熟悉怎么用好它。
------解决方案--------------------
因为,你的u可能是直接把ds:0当作开始执行指令的起始地址了,而一般含多段的程序,一个句指令都不在那个地址?是这样吧,貌似。