Assembly 跳转表的格式

Assembly 跳转表的格式,assembly,gdb,jump-table,Assembly,Gdb,Jump Table,我正在读一个关于跳台课程的例子。他们称之为gdbx/8g0x123456 结果输出如下所示: 0x123456 0x000000000000134234 0x0000000000005f424 0x123487 0x0000000000001dd1ac 0x000000000000ef327 我认为跳转表将地址映射到它应该执行的代码的地址。那么为什么有3列(不应该是2列吗?) 那么为什么有3列(不应该是2列吗?) 您没有粘贴真实的GDB输出,它看起来像: 0x12345

我正在读一个关于跳台课程的例子。他们称之为
gdbx/8g0x123456

结果输出如下所示:

0x123456    0x000000000000134234    0x0000000000005f424
0x123487    0x0000000000001dd1ac    0x000000000000ef327
我认为跳转表将地址映射到它应该执行的代码的地址。那么为什么有3列(不应该是2列吗?)

那么为什么有3列(不应该是2列吗?)

您没有粘贴真实的GDB输出,它看起来像:

0x123450    0x000000000000134234    0x0000000000005f424
0x123460    0x0000000000001dd1ac    0x000000000000ef327
(第一列不同)。在编程中,细节很重要

如果将终端变窄,则会得到2列,如下所示:

0x123450    0x000000000000134234
0x123458    0x0000000000005f424
0x123460    0x0000000000001dd1ac
0x123468    0x000000000000ef327

正如KerrekSB所建议的,阅读GDB手册以了解
x
的作用。提示:第一列其实并不重要——它是表本身的存储位置。

您是否阅读过gdb手册以了解
x
的作用?