当在手机上以发布模式运行调试器时,我们的调试器出现了一个奇怪的错误。无论我们使用的是gdb还是lldb和Xcode4.3.3,代码都会落在断点上,即使代码的PC并没有真正指向断点。伪代码示例: // set breakpoint-A here // set breakpoint-B here//在这里设置另一个断点-它将在断点B中着陆,然后跳转到断点A。
原因是因为
关于相对跳跃,我有以下问题:
我知道相对于当前PC,JMP SHORT <displacement>将跳转到<displacement>字节。这是正确的吗?,汇编程序会自动生成一个相对跳转的op代码吗?也就是说,当我编写JMP <label>时,如果标签位于当前PC的128个字节以内,它将产生一个相对跳转?