Unhandled exception at 0x........ in XXXX.exe: 0xC0000005:错误

对于C++初学者或粗心者,很容易犯如下图所示错误:

那么该错误是由什么造成的呢?

答案无疑只有一个,即:读取了本该没有的值或者地址。

那么如何解决呢?

第一件事,检查下你传入的参数是否合法;
第二件事,若malloc了一块内存,必须记得free;

第三件事,你是否赋值了已经溢出的值或地址。

举例说明:

[cpp] view plain copy

print?

  1. pOrg = pcPicYuvOrg->getLumaAddr();
  2. for( y = 0; y < height-1; y++ )
  3. {
  4. for( x = 0; x < width-1; x++ )
  5. {
  6. Pel A[4];
  7. //2x2
  8. A[0]=pOrg[x];   A[1]=pOrg[x+1];
  9. A[2]=(pOrg+stride)[x];  A[3]=(pOrg+stride)[x+1];
  10. if( A[0]==255 && A[1]==255 && A[2]==255 && A[3]==255 )
  11. {
  12. pOrg[x] = 255;  pOrg[x+1] = 255;
  13. (pOrg+stride)[x] = 255; (pOrg+stride)[x+1] = 255;
  14. }
  15. else
  16. {
  17. pOrg[x] = 0;    pOrg[x+1] = 0;
  18. (pOrg+stride)[x] = 0;   (pOrg+stride)[x+1] = 0;
  19. }
  20. x += 1;
  21. }
  22. pOrg += 2*stride;
  23. }

此代码就会出现上图所示错误。那么如何解决呢?

[cpp] view plain copy

print?

  1. pOrg = pcPicYuvOrg->getLumaAddr();
  2. for( y = 0; y < height/2; y++ )
  3. {
  4. for( x = 0; x < width-1; x++ )
  5. {
  6. Pel A[4];
  7. //2x2
  8. A[0]=pOrg[x];   A[1]=pOrg[x+1];
  9. A[2]=(pOrg+stride)[x];  A[3]=(pOrg+stride)[x+1];
  10. if( A[0]==255 && A[1]==255 && A[2]==255 && A[3]==255 )
  11. {
  12. pOrg[x] = 255;  pOrg[x+1] = 255;
  13. (pOrg+stride)[x] = 255; (pOrg+stride)[x+1] = 255;
  14. }
  15. else
  16. {
  17. pOrg[x] = 0;    pOrg[x+1] = 0;
  18. (pOrg+stride)[x] = 0;   (pOrg+stride)[x+1] = 0;
  19. }
  20. x += 1;
  21. }
  22. pOrg += 2*stride;
  23. }

很明显,错误的原因在于:赋值了已经溢出的值。

若以后遇到类似问题,可以逐步检查上述提出的“三件事情”即可。

时间: 2024-10-15 12:07:05

Unhandled exception at 0x........ in XXXX.exe: 0xC0000005:错误的相关文章

Unhandled exception at 0x........ in XXXX.exe: 0xC0000005:Access violation reading location 0x......

Unhandled exception at 0x........ in XXXX.exe: 0xC0000005:Access violation reading location 0x...... 对于C++初学者或粗心者,很容易犯如下图所示错误: 那么该错误是由什么造成的呢? 答案无疑只有一个,即:读取了本该没有的值或者地址. 那么如何解决呢? 第一件事,检查下你传入的参数是否合法: 第二件事,若malloc了一块内存,必须记得free: 第三件事,你是否赋值了已经溢出的值或地址. 举例说

Solve Error: Unhandled exception at 0x00905a4d in xxx.exe: 0xC0000005: Access violation.

在使用Visual Studio进行项目开发的时候,有时候会遇到下面这个错误: Unhandled exception at 0x00905a4d in xxx.exe: 0xC0000005: Access violation 产生这个错误的原因可能是在Visual Studio中链接了后缀为"*.a"的库文件,这种库文件应该是在Linux系统或者是使用MinGW编译时链接的,用VS的话应该链接"*.lib"的库文件,而下载的第三方库中一般会包含"*.d

First-chance exception at 0x782260ec in xxx.exe: 0xC0000005: Access violation

开发的软件可以通过按钮创建子窗体,在win7下测试正常,在winXP下崩溃.于是搜到以下帖子,没有讲到直接解决方法,因为貌似没有直接解决的方式. 通过里边的设置可以捕获异常,然后再分析代码. 原帖地址 'First-chance exception' usually means an exception that has been handled by user code. If you're using the Vosual Studio & the Windows Mobile emulat

unity, Unhandled Exception: System.UnauthorizedAccessException: Access to the path &quot;xxx\Temp\Assembly-CSharp-Editor.dll.mdb&quot; is denied.

Unhandled Exception: System.UnauthorizedAccessException: Access to the path "xxx\Temp\Assembly-CSharp-Editor.dll.mdb" is denied. 在windows上用unity出现上面错误,解法是关掉unity和monodeveloper,然后以管理员身份重新打开unity.

.Net下Unhandled Exception的捕获

C# 处理unhandled Exception方式如下:1.    在程序的Main()方法中增加如下代码.      //处理线程未处理的异常   Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);   //处理系统未处理的异常    AppDomain.CurrentDomain.UnhandledException +=

ajax回调数据 Structs has detected an unhandled exception 问题

Structs has detected an unhandled exception 今天算倒霉了,用maven写的一个项目,竟然出现了以下低级的错误,在用ajax修改密码时,回调的数据竟然是以下的东东.... ************************************************************************************** $.post("${pageContext.request.contextPath}/user_editPass

Unhandled Exception:System.DllNotFoundException: Unable to load DLL&quot;**&quot;

在项目中使用C#代码调用C++ DLL时.常常会出现这个问题:在开发者自己的电脑上运行没有问题,但是部署到客户电脑上时会出现下面问题: Unhandled Exception:System.DllNotFoundException: Unable to load DLL"**":找不到指定的模块. 出现这个问题的原因:一般是该客户电脑上缺少该DLL的依赖项.一般来说比较常见的缺少项是msvcr1200.dll msvcp1200.dll.具体缺少什么,需要使用Dependency Wa

Unhandled Exxception “Unhandled exception type IOException”?

Unhandled Exxception  “Unhandled exception type IOException”? 在Android studio中,自动遇见这个异常报错,如果eclipse会自动提示,但是AS提示很抽象,不容易发现,解决方案: You should add "throws IOException" to your main method: public static void main(String[] args) throws IOException { Y

Quartz:ERROR threw an unhandled Exception

详细的错误信息如下: 1 2016-06-28 17:18:13.366 [DefaultQuartzScheduler_Worker-1] ERROR org.quartz.core.JobRunShell:211 - Job group1.job1 threw an unhandled Exception: 2 java.lang.NullPointerException 3 at com.starunion.java.service.timer.JobEndConference.execu