代码-C#数字图像处理出现“索引超出了数组界限”的异常,求帮忙

问题描述

C#数字图像处理出现“索引超出了数组界限”的异常,求帮忙

有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。

************** 异常文本 **************
System.IndexOutOfRangeException: 索引超出了数组界限。
在 XiaoLiJishu.Form1.areas(Byte[,] img, Int32 w, Int32 h) 位置 D:VS项目XiaoLiJishuXiaoLiJishuMainForm.cs:行号 599
在 XiaoLiJishu.Form1.euler(Byte[,] img, Int32 w, Int32 h) 位置 D:VS项目XiaoLiJishuXiaoLiJishuMainForm.cs:行号 579
在 XiaoLiJishu.Form1.toolStripMenuItem2_Click(Object sender, EventArgs e) 位置 D:VS项目XiaoLiJishuXiaoLiJishuMainForm.cs:行号 558
在 System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
在 System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
在 System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
在 System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
在 System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
在 System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
在 System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
在 System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
在 System.Windows.Forms.Control.WndProc(Message& m)
在 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
在 System.Windows.Forms.ToolStrip.WndProc(Message& m)
在 System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** 已加载的程序集 **************
mscorlib
程序集版本:4.0.0.0
Win32 版本:4.0.30319.34209 built by: FX452RTMGDR

基本代码:file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll

XiaoLiJishu
程序集版本:1.0.0.0
Win32 版本:1.0.0.0

基本代码:file:///D:/VS%E9%A1%B9%E7%9B%AE/XiaoLiJishu/XiaoLiJishu/bin/Debug/XiaoLiJishu.exe

System.Windows.Forms
程序集版本:4.0.0.0
Win32 版本:4.0.30319.34251 built by: FX452RTMGDR

基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System.Drawing
程序集版本:4.0.0.0
Win32 版本:4.0.30319.34209 built by: FX452RTMGDR

基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System
程序集版本:4.0.0.0
Win32 版本:4.0.30319.34238 built by: FX452RTMGDR

基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Configuration
程序集版本:4.0.0.0
Win32 版本:4.0.30319.34209 built by: FX452RTMGDR

基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Xml
程序集版本:4.0.0.0
Win32 版本:4.0.30319.34234 built by: FX452RTMGDR

基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

mscorlib.resources
程序集版本:4.0.0.0
Win32 版本:4.0.30319.18408 built by: FX451RTMGREL

基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/mscorlib.resources.dll

System.Windows.Forms.resources
程序集版本:4.0.0.0
Win32 版本:4.0.30319.18408 built by: FX451RTMGREL

基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/System.Windows.Forms.resources.dll

************** JIT 调试 **************
要启用实时(JIT)调试,
该应用程序或计算机的 .config 文件(machine.config)的 system.windows.forms 节中必须设置
jitDebugging 值。
编译应用程序时还必须启用
调试。

例如:

启用 JIT 调试后,任何未经处理的异常
都将被发送到在此计算机上注册的 JIT 调试器,
而不是由此对话框处理。

这几行代码分别为
for(int i=0;i<h;i++)
for(int j=0;j<w;j++)
if(outp[i,j]==1) img[i,j]=7;//-1 第599行

解决方案

XiaoLiJishu.Form1.areas(Byte[,] img, Int32 w, Int32 h)
这个方法中,你试图访问了img数组,下标超过了边界,调试下。注意循环的边界值。

解决方案二:

图片像素太多了,换一张图片

解决方案三:

你的程序能通过编译,说明没有语法问题
应该是运行时错误,很显然是一个静态数组在运行过程中,程序对数组下标的访问超出了数组的长度
大多数错误出现于用数组的长度作为下标,但事实上数组下标的最大值应该为数组的长度减一
建议你再仔细检查一下有关数组使用的代码快的合法性

解决方案四:

断点调试,找到出错的地方,把索引值改为数组大小减一,因为数组下标是从0开始的

解决方案五:

错误提示明显,打断点跟进吧

时间: 2024-09-12 22:31:34

代码-C#数字图像处理出现“索引超出了数组界限”的异常,求帮忙的相关文章

MySql Blob图片类型存储Bug解决:索引超出了数组界限错误

告别了一周多的网络,终于回归,突见群里,有网友提了以下问题: CYQ.Data框架测试:mysql数据库测试(保存blob类型的数据会出问题) ,针对mysql数据库做测试:发现更新blog字段,总是保存System.Byte[]   既然网友提出了问题,本地再试验一下: 先在本地装了个Mysql,又装了个navicat管理工具,又新建了个工程来测试: 简单的测试方法,就是放一个按钮,点击一下,读取远程图片,然后存到数据库,再读取出来显示到界面上. 管理工具随意建了个表"D1",弄了三

请教索引超出了数组界限问题

问题描述 昨天修改的项目,运行,编译都没问题,今天一早运行就"提示索引超出了数组界限"错误,请教如何解决啊?错误详细:用户代码未处理System.IndexOutOfRangeExceptionMessage="索引超出了数组界限."Source="App_Code"StackTrace:在cls_Pages.getPageChannelMenu()在cls_Pages.getPageHeader()在index.HandleAction()在A

异常-索引超出了数组界限,求助啊

问题描述 索引超出了数组界限,求助啊 菜鸟学习些代码,实在是不知道怎么改,求助啊!! 运行出现如下问题: 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.IndexOutOfRangeException: 索引超出了数组界限. 源错误: 行 40: 行 41: // 初始化接口服务连接资源 行 42: client.initResources(); 行 43: Console.Writ

“/”应用程序中的服务器错误。索引超出了数组界限。

问题描述 "/"应用程序中的服务器错误.索引超出了数组界限. "/"应用程序中的服务器错误. 索引超出了数组界限. 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.IndexOutOfRangeException: 索引超出了数组界限. 源错误: [没有相关的源行] 源文件: c:WINDOWSMicrosoft.NETFrameworkv2.0.50727

c#-C#其他信息: 索引超出了数组界限。

问题描述 C#其他信息: 索引超出了数组界限. private void button1_Click(object sender, EventArgs e) { string str = richTextBox1.Text; string[] lines = str.Split(Environment.NewLine.ToCharArray()); for (int i = 1; i < lines.Length; i++) { Console.WriteLine(lines[i]); stri

DWGdirect error 索引超出了数组界限

问题描述 小弟刚下载了一个DWGdirect_NET_3_02可按下F5就报这个错,请各位大侠指教! 解决方案 解决方案二:错误提示是什么?解决方案三:就在cmd窗口里提示一个"DWGdirecterror索引超出了数组界限"然后迅速就没了,无法截图.在网上搜了一下好像是什么为空了.按F5没进断点就报错!我qq:530536333csdn有DWGdirect_NET_3_02的源码.解决方案四:代码中搜索一下错误内容.解决方案五:代码里面没报任何错误!解决方案六:你QQ多少..可以谈下

c-我有一款软件打开提示索引超出了数组界限怎么解决啊?

问题描述 我有一款软件打开提示索引超出了数组界限怎么解决啊? ************** 异常文本 ************** System.IndexOutOfRangeException: 索引超出了数组界限. 在 a.?(String A_0) 在 a.?(Object A_0, EventArgs A_1) 在 System.Windows.Forms.Form.OnLoad(EventArgs e) 在 System.Windows.Forms.Form.OnCreateContr

sql-C# 按行读取txt文本内容导入数据库SQL(1)第二行数据就从第二列插入(2)索引超出了数组界限?

问题描述 C# 按行读取txt文本内容导入数据库SQL(1)第二行数据就从第二列插入(2)索引超出了数组界限? 都是按行读取txt内容,(因为有两行数据和其他的不一样)用正则分析出来,赋给一个字符串数组, 将一个字符串数组的每个值一次写入数据库行的对应列.一行读取完成. 可是却显示,索引超出了数组界限,数组个数和行对应的 .将读取出来的数据显示在textBox中是正确的, 但是奇怪的是也确实是导入进去了,数据库中表格有了数据 最终结果似乎对的,除了第二行第一列没有数据.谢谢,刚入手,第一个程序!

索引超出了数组界限如何解决

问题描述 usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;usingHotelCommon;usingSystem.Text.RegularExpressi