VS调试C程序跳转至_debugger_hook_dummy = 0;

来源:互联网 发布:百成玻璃优化排版软件 编辑:程序博客网 时间:2024/06/14 14:49

调试时遇到跳转至_debugger_hook_dummy = 0;


一、我遇到的原因在于读TXT文件时,代码为:

void GLOperator::getPolyAdj(const char* inputfile){ifstream infile (inputfile);if(!infile){cout << "Unable to open input file";exit(1);}const char* delim = ":,";while ( (infile.good()) && (! infile.eof()) ){char buffer[500];infile.getline (buffer,500);char* token = strtok(buffer, delim);int startID = atoi(token);token=strtok(NULL, delim);int t_endID = atoi(token);token=strtok(NULL, delim);}

此段代码,若遇到txt中存在空行,则出现空指针,报错如上,故在getline(...)处增加判断,如下:

char buffer[500];infile.getline (buffer,500);//必须有这个判断来防止读到空行下面的token出错if(strcmp(buffer,"")==0){continue;}char* token = strtok(buffer, delim);int startID = atoi(token);


二、另,此bug出现的原因还可能有(整理自网络):

使用的函数不够安全;

相对路径,对应用程序的调用环境不同这个目录是不同的;点击打开来源
文件打开失败(e.g.上一条),越界使用指针;点击打开来源


0 0
原创粉丝点击