C 带前导零的GDB打印二进制文件
我正在尝试使用以下命令在GDB中打印32位寄存器:C 带前导零的GDB打印二进制文件,c,binary,gdb,embedded,C,Binary,Gdb,Embedded,我正在尝试使用以下命令在GDB中打印32位寄存器: define gpioa_moder print /t *(uint32_t*)0x48000000 end 这就是我得到的: 101000000000000000010010100000 但是,我希望保留两个前导零,如下所示: 00101000000000000000010010100000 谢谢您可能想试试 然后像这样使用它: x /w 0x48000000 ---> 0x48000000: 0010100000000000
define gpioa_moder
print /t *(uint32_t*)0x48000000
end
这就是我得到的:
101000000000000000010010100000
但是,我希望保留两个前导零,如下所示:
00101000000000000000010010100000
谢谢您可能想试试
然后像这样使用它:
x /w 0x48000000
---> 0x48000000: 00101000000000000000010010100000
您甚至可以使用其他格式参数
b
、h
和g
打印不同的大小。是否可以使用x(检查)cmd而不是打印?给定一个地址,它将以二进制形式打印地址和地址处的值,在本例中显示所有32位,即(gdb)x&my_uint32->0x48000000:0010100000000000000001001000000,与您想要的不完全一样,但可能更近一点-看起来很奇怪,似乎没有一种方法可选地指定打印/t的格式,并且具有相同的效果:x/4tb 0x48000000