为什么我不能在gdb中正常显示字符串?

问题描述:

来源:为什么我不能在gdb中正常显示字符串?

char *pid_file... 

GDB:

(gdb) p (char *)pid_file 
$47 = 0x423047 "H\215\005\366i " 
(gdb) x/s pid_file 
0x423047 <__libc_csu_init+55>: "H\215\005\366i " 

有什么不对吗?

它看起来像pid_file尚未分配给任何有效的字符串,并指向任意“垃圾”。你已经忽略了最相关的部分; - (