默认情况下,gdb始终打印/显示基数为10的所有变量/参数.有什么方法可以让gdb在打印任何内容时始终使用base 16(当我不需要时返回默认设置)?我知道它可以通过提供打印/显示的'/ x'参数来打印,但我不想每次都这样做....
假设我有一个bufc字符串表示的缓冲区
char* buf = "Hello World \x1c"
Run Code Online (Sandbox Code Playgroud)
当我使用命令在gdb中打印此buf时p buf,我得到以下内容
$1 = "Hello World \034"
Run Code Online (Sandbox Code Playgroud)
是否有打印命令或gdb设置将打印以下内容?
$1 = "Hello World \x1c"
Run Code Online (Sandbox Code Playgroud)
我尝试过各种格式参数,例如/c和 /x,但是它们都没有得到我想要的效果.我也玩过printf但是无法达到预期的效果.
更新:我正在使用"GNU gdb(GDB)7.0.1-debian".
更新:我也玩过x.
如果我这样做x/c,打印非打印字符的八进制和十进制,然后打印带有ascii和十进制的可打印字符.
如果我这样做x/s输出与p命令完全相同.
如果我这样做x/x只输出十六进制但我们丢失了可打印部分的ascii字符.
更新:这个参考,除非不完整,表明我想要的东西不可用,但任何人都可以确认吗?