我在使用mono develop调试单声道应用程序时遇到问题。当我试图在一个将2d数组作为参数的函数内部调试代码时,调试器崩溃了。 例如,测试函数内部的调试器步骤:
float[,] b = new float[4,4];
Test(b);
static void Test(float[,] x)
{
float[,] y = x;
}
我收到断言错误:
回调中的异常:System.Reflection.TargetInvocationException:调用目标抛出了异常。 ---> System.IndexOutOfRangeException:Index超出了数组的范围。
我的代码是否有问题,或者单声道/单声道开发有问题吗?
编辑:是的,这段代码只是一个例子;我试图缩小问题范围。
答案 0 :(得分:0)
这段代码没有问题,它可以很好地编译和运行Mono调试器 (我在OS X上使用MonoDevelop 3.1.1。)
这是我编译的C#程序:
using System;
class MainClass
{
public static void Main (string[] args)
{
float[,] b = new float[4,4];
Test(b);
Console.WriteLine ("Hello World!");
}
static void Test(float[,] x)
{
float[,] y = x;
}
}
此外,TargetInvocationException
表示发生了错误from a method invoked through reflection - 也许这就是您错过实际问题的原因?堆栈跟踪应该为您提供一个提示,查找实际异常的位置。
它甚至可能在不同的主题中。