【发布时间】:2018-01-14 16:35:04
【问题描述】:
我知道 gdb 允许通过print <exp> 命令打印表达式。据我了解,这种表达式的结果被保存到 gdb 变量中(可以使用$N - N - number of variable 访问。打印函数执行结果是否安全?假设我有函数:
const char* foo(){ return "foo";}
char* foo2(){static char b[10]; /*change b*/; return b}
char* foo3(){char* b; /*Create string on heap*/ return b;}
gdb 如何处理print foo(), print foo2(), print foo3() 的结果?是否会释放变量的内存,会不会导致错误?
【问题讨论】: