这是一段简单的代码,但是当我尝试在GDB中调试它时遇到了问题; 以下是我的命令行输入:
gdb test
b main
info locals
源代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
char *str = "1111 1111\n";
size_t n =2;
FILE *outptr = fopen("target.txt","w");
fwrite(str,strlen(str),1, outptr);
char *str2 = "22222\n";
fwrite(str2,strlen(str2),1, outptr);
char *str3 = "3333\n";
fwrite(str3,strlen(str3),1, outptr);
char *str4 = "4444\n";
fwrite(str4,strlen(str4),1, outptr);
// char *str2 = "2222\n";
// fwrite(str2,strlen(str2),3, outptr);
fclose(outptr);
return 1;
}
在main的断点处,gdb显示已定义的所有局部变量,但我还没有进入声明。更让我感到困扰的是,似乎变量具有来自无处的非空值。
由于