我有一个64位二进制文件(sqlite的修改版本,但这不应该是mattrr):
uRank
使用GCC 4.7.4生成。但是,调试代码只能在格式字符串中为> file /home/aromanov/IdeaProjects/sqlite/sqlite3
/home/aromanov/IdeaProjects/sqlite/sqlite3: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x39a2db352d3bc451ed621ad0588eec3008df034b, not stripped
输出8个十六进制数字(32位),我预计16这是正常的吗?
答案 0 :(得分:1)
至少在linux / glibc上,%p
格式说明符不会使用零填充左边距。因此指向例如地址0x000000000000ffff的格式简单为" 0xffff"。如果您想在输出中输入16位数,可以使用%.16p
。