【发布时间】:2013-06-19 14:10:38
【问题描述】:
我有一段代码在 Visual Studio 的调试模式下运行良好,但在发布模式下崩溃。经过一番猜测,我找到了导致崩溃的代码。
char *buff ="some random text";
char *temp = NULL;
char *pos = NULL;
int len = strlen("random text");
pos = strstr(buff,"random");
temp = (char *) malloc(len+1);
memset(temp,0,len+1);
memcpy(temp,pos,len);
这在调试模式下完美运行,但在发布时崩溃。谁能指出错误?
【问题讨论】:
-
我在 Visual Studio 2010 中以调试模式和发布模式检查了这段代码......它运行良好。我假设您怀疑大型程序中的这段代码..我不得不说,这部分不是在制造麻烦
-
你“释放”了分配的指针
-
@hazzelnuttie 我解决了这个问题,我在这段代码上方的地方做,strlen(temp+3) 而不是 strlen(temp)+3 !!
标签: c visual-studio-2008