看下面一段程序:
要求:用GDB找出程序中的两处BUG。
直接编译后,运行出现“段错误”,即“Segmenation fault (core dumped))”。
用GDB单步运行:
因为有char *p=NULL;
所以指针被初始化为指向地址0x0。这是违规访问内存地址,所以会出现段错误。
这里用malloc函数动态分配内存空间:
看下面一段程序:
要求:用GDB找出程序中的两处BUG。
直接编译后,运行出现“段错误”,即“Segmenation fault (core dumped))”。
用GDB单步运行:
因为有char *p=NULL;
所以指针被初始化为指向地址0x0。这是违规访问内存地址,所以会出现段错误。
这里用malloc函数动态分配内存空间: