在微软的cl下写C源码,加入一个断点一般是:
{
__asm int 3
}机器码为十六进制:CC。今天在nasm里写了一个:
int 3编译通过了,用dumpbin /disasm显示为:
00000041: CD 03 int 3运行起来能中断,但是不能继续运行下去了。在nasm源文件里修改如下:
int3dumpbin /disasm得到正确的结果:
00000041: CC int 3这样机器码就正确了。看来nasm和masm还是要不同对待。
本文探讨了在nasm与masm中设置断点的不同方式。在nasm中使用'int3'指令时,若直接书写可能会导致程序无法继续运行的问题。文章通过调整源代码解决了这一问题,并对比了不同的机器码表现。
192

被折叠的 条评论
为什么被折叠?



