程序跳转到 mainret = main(argc, argv, envp); 抛出异常Unhandled exception
2016-10-09 16:49
417 查看
在项目中遇到这种异常:程序跳转到 mainret = main(argc, argv, envp); 抛出异常,Unhandled exception at 0x***** in **.exe: 0xC0000005: Access violation reading location 0x00000004.。并且程序有时候正常有时候崩溃。这种错误经常需要花费很长时间去找这个错误。
总结一下我遇到这种错误时的思路:
1,访问异常,一般很有可能是指针访问异常。考虑指针有没有初始化,在类的构造函数里面有没有初始化成员指针。因为如果不初始化指针,指针的值是不确定的。因此你在程序中使用if(指针==NULL),那么你就可能会很疑惑为什么程序有时候正常有时候崩溃。因为每一次编译,指针的值都不一样。没有初始化的话,在程序中用是否为NULL判断是不对的。
2,有可能在指针没有分配内存空间的时候,就用该指针去访问一些相关的变量。会导致错误。
总结一下我遇到这种错误时的思路:
1,访问异常,一般很有可能是指针访问异常。考虑指针有没有初始化,在类的构造函数里面有没有初始化成员指针。因为如果不初始化指针,指针的值是不确定的。因此你在程序中使用if(指针==NULL),那么你就可能会很疑惑为什么程序有时候正常有时候崩溃。因为每一次编译,指针的值都不一样。没有初始化的话,在程序中用是否为NULL判断是不对的。
2,有可能在指针没有分配内存空间的时候,就用该指针去访问一些相关的变量。会导致错误。
相关文章推荐
- 直线mian函数跳转到mainret = main(argc, argv, envp);
- mian函数跳转到mainret = main(argc, argv, envp)
- main(argc,argv) 中的参数
- main(int argc, char **argv)中argc和argv的具体含义
- 程序命令行argc\argv
- main函数中的argc,argv,envp参数
- main(argc,argv) 中的参数
- main()里的argc与argv
- main 函数argc , argv 主命令行参数
- main中的argc和argv解释
- main( intmain(int argc,char *argv[]) argc ,char*argv[ ] )
- 看清main(argc,**argv)
- main(int argc,char* argv[],char *envp[] )
- main函数参数argc,argv说明
- main() 参数:argc 与 argv
- int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
- main中的argc,argv的含义理解
- main(int argc, char **argv)参数argc,argv说明和指向指针的指针变量
- main 函数参数中 argc/argv的相关讨论和使用
- linux c之main(int argc, char *argv[], char *envp[])参数意义