格式化“的输出”;p/t“;在gdb中

格式化“的输出”;p/t“;在gdb中,gdb,Gdb,在gdb中,“p/t”以二进制格式显示变量或寄存器的值。当读取uint16或uint32寄存器时,很难找到要查看的位。有没有更好的格式化输出的方法?例如,将4位数字分组并添加空格,如“0000 0000 0100 0101”?没有内置的方法来实现这一点。这似乎是一个合理的请求功能(在gdb bugzilla中)。没有内置的方法来实现这一点。这似乎是一个合理的请求功能(在gdb bugzilla中)。。。我刚找到一条路,虽然它并不漂亮 “x/”显示变量中的值。它有一些有用的格式选项 例如,如果要读

在gdb中,“p/t”以二进制格式显示变量或寄存器的值。当读取uint16或uint32寄存器时,很难找到要查看的位。有没有更好的格式化输出的方法?例如,将4位数字分组并添加空格,如“0000 0000 0100 0101”?

没有内置的方法来实现这一点。这似乎是一个合理的请求功能(在gdb bugzilla中)。

没有内置的方法来实现这一点。这似乎是一个合理的请求功能(在gdb bugzilla中)。。。我刚找到一条路,虽然它并不漂亮

“x/”显示变量中的值。它有一些有用的格式选项

例如,如果要读取存储以下值的32位寄存器

 (gdb) p /t register_name
 11111111111011111111100010101010
然后,您可以像下面的示例一样逐字节查看它们。请注意,字节的顺序是相反的

 (gdb) x/4bt &register_name
 0x40022020:  10101010    11111000    11101111    11111111

嗯。。。我刚找到一条路,虽然它并不漂亮

“x/”显示变量中的值。它有一些有用的格式选项

例如,如果要读取存储以下值的32位寄存器

 (gdb) p /t register_name
 11111111111011111111100010101010
然后,您可以像下面的示例一样逐字节查看它们。请注意,字节的顺序是相反的

 (gdb) x/4bt &register_name
 0x40022020:  10101010    11111000    11101111    11111111