0x0000000149ab0d2c <+0000> jmpq *0x1e04b6(%rip) # 0x149c911e8
(gdb) p $rip $1 = (void (*)(void)) 0x149ab0d2c
(gdb) p $rip+6+0x1e04b6 $4 = (void (*)(void)) 0x149c911e8
stepi 之后:(它应该在 0x149c911e8,但是......)
(gdb) p $rip $5 = (void (*)(void)) 0x148c46d4a
顺便说一句,我的环境是 Mac OS X 10.6.4。该程序加载了 2 个 dylib,它们都链接到使用 -fPIC 选项编译的同一个静态库。这个问题混淆了 dylib 并使它们中的一个调用另一个函数,这是不应该的,因为它们实际上是相互独立的。