使用
char *addr = getenv("CNFG")
我得到了
0x7fffffffebea
然后调试我的程序我收到此错误消息:
(gdb) x/ls 0x7fffffffebea
0x7fffffffebea: <Address 0x7fffffffebea out of bounds>
如何检查该环境变量的内容(以便检查它是否具有有效值)?
答案 0 :(得分:0)
我得到
0x7fffffffebea
您的问题并不清楚,但在GDB之外运行程序时,您可能会获得该值。该值应该在运行之间发生变化(由于地址空间布局随机化),和您应该在GDB中获得不同的值(由于在GDB下运行时堆栈布局的差异)。
换句话说,在GDB下运行程序,打印地址,然后使用x/s addr
检查字符串。