【发布时间】:2014-06-29 04:19:54
【问题描述】:
在闲置了几个月后,我决定再次使用 Microsoft Visual Studio (C#)。
点击“开始调试”后,我得到了 Windows 错误(我认为 svchost.exe 已停止工作),我不知道这是否与我要说的有关,但我没有得到例如,当我调用数组越界时出现任何错误。
程序只是不执行与错误相关的代码(我注意到数组和文件 I/O 问题),但继续正常运行,这让我抓狂,因为我必须在之后单击“开始调试”我编写每一行代码只是为了确保我是正确的。
所以,Debug > Exceptions,那边乱七八糟的,我之前没碰过。 任何帮助将不胜感激。
编辑:我已经重新启动了 3 次计算机,并且刚刚进行了清理和重建(项目),但没有任何改变。
EDIT2:对不起,如果它令人困惑,这里有一些新信息:
public partial class frmMain : Form
{
PictureBox[] pic = new PictureBox[120];
public frmMain()
{
InitializeComponent();
}
private void frmMain_Load(object sender, EventArgs e)
{
// Creating pictureboxes
for (int i = 1; i <= 199; i++) //199 instead of 120 or 119 and the rest of the for isn't executed plus no error or warning displayed.
{
pic[i] = new PictureBox();
EDIT3:下面是另一个例子。如果我尝试在没有 try-catch 序列的情况下读取一个不存在的文件,那么整个 pic[] 矩阵就像在程序运行时从内存中卸载一样。
pic[i].Image = Image.FromFile("H:\\My Pictures\\" + i + ".jpg");
EDIT4:感谢您的宝贵时间。我尝试了“Release”而不是“Debug”,问题得到了一段时间的修复。
当我决定在“OutofRangeException”上按“继续”而不是“中断”时,Windows 弹出此消息:“Windows 必须以兼容模式运行程序”。现在当我按下“开始调试”时,就像以前一样......
【问题讨论】:
-
您遇到什么错误?您是否尝试过清理和重建整个应用程序?
-
你试过重启电脑吗?
-
我已经重新启动了 3 次我的计算机,并且刚刚进行了清理和重建(项目)。编辑:如果我做一个数学错误(转换错误或类似的东西)程序停止,但在数组上,例如,什么都没有,它只是跳过有问题的代码(例如在一个 for 循环中)。
-
这里没有足够的信息。这是一个什么样的项目?其他项目有同样的问题吗?我什至不确定您的实际问题是什么,因为您的描述令人困惑。
-
@ErikFunkenbusch 我添加了更多信息,请查看。
标签: c#