Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 带前导零的GDB打印二进制文件_C_Binary_Gdb_Embedded - Fatal编程技术网

C 带前导零的GDB打印二进制文件

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

我正在尝试使用以下命令在GDB中打印32位寄存器:

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