gdb调试执行没有异常 正常运行有异常

gdb调试执行没有错误 正常运行有错误
#include <stdlib.h>
#include <stdio.h>

int intcomp(void *a,void *b)
{
    return *(int*)a - *(int*)b;
}

int num[1000000];

int main(int argc,char* argv[])
{
    FILE *file = fopen("rand_num_file.txt", "a+");
    FILE *result_file = fopen("result.txt","a+");
    int i;
    int n=0;

    while(fscanf(file,"%d",&num[n]) != EOF)
        n++;

    qsort(num,1000000,sizeof(num[0]),(__compar_fn_t)intcomp);

    for(i=0;i<1000000;i++)
        fprintf(result_file,"%d\n",num[i]);

    //fclose(file);
    //fclose(result_file);
    return 0;
}

------解决方案--------------------
文件数据太多,超过了100000个gdb调试执行没有异常 正常运行有异常
------解决方案--------------------
可能越越界了

//while(fscanf(file,"%d",&num[n]) != EOF)
while(n < 100000 && fscanf(file,"%d",&num[n]) == 1)
        n++;