我正在尝试在调试器(ollydbg)中遵循我用 C++ 编译的一个简单程序的执行指令(它计算一些素数然后退出),但我有几个问题:
- 为什么第一条指令不是“CODE”部分的入口点?他们有区别
- 一旦我“跳过”一些指令,调试器就会崩溃并写入“ntdll.someaddress 处的单步事件,按 shift+F7/F8/F9 将异常传递给程序”并崩溃。如果我在不执行指令的情况下运行程序,它可以正常工作并且程序加载没有问题
为什么会这样?这不仅发生在我的程序中,而且发生在其他几个程序中(我系统中几乎每隔一个 32 位 exe)