程序跳转到 mainret = main(argc, argv, envp); 抛出异常Unhandled exception

在项目中遇到这种异常:程序跳转到 mainret = main(argc, argv, envp); 抛出异常,Unhandled exception at 0x***** in **.exe: 0xC0000005: Access violation reading location 0x00000004.。并且程序有时候正常有时候崩溃。这种错误经常需要花费很长时间去找这个错误。

总结一下我遇到这种错误时的思路:

1,访问异常,一般很有可能是指针访问异常。考虑指针有没有初始化,在类的构造函数里面有没有初始化成员指针。因为如果不初始化指针,指针的值是不确定的。因此你在程序中使用if(指针==NULL),那么你就可能会很疑惑为什么程序有时候正常有时候崩溃。因为每一次编译,指针的值都不一样。没有初始化的话,在程序中用是否为NULL判断是不对的。

2,有可能在指针没有分配内存空间的时候,就用该指针去访问一些相关的变量。会导致错误。

你可能感兴趣的:(C++)