1

我的 Windows 应用程序出现以下错误。异常我无法弄清楚它为什么会出现,因为特定错误没有登录到我的异常记录器文件中。

应用程序名称失败:Test.exe,版本:1.0.0.15,时间戳:0x51481394
失败的模块名称:KERNELBASE.dll,版本:6.1.7601.18015,时间戳:0x50b83b16
异常代码:0xe053534f
故障偏移量:0x0000812f
进程 ID 失败:0x%9
应用程序的启动时间失败:0x% 10
应用程序路径失败:% 11
模块路径失败:% 12
报告 ID:% 13

请在下面找到代码

private void frmSetTime_Load(object sender, EventArgs e)
{
    try
    {
        string[] cmds = System.Environment.GetCommandLineArgs();
        //Here i gets Command Line Arguments
    }
    catch (Exception ex)
    {
        MessageBox.show(ex.message);
    }
    finally
    {
        GC.Collect();
    }
}

public void ExecuteLogic(Object obj)
{
    try
    {
        //My set of Statements
        Therad.sleep(5000);
        ExecuteLogic(obj);
    }
    catch (Exception ex)
    {
        MessageBox.show(ex.message);
    }
    finally
    {
        GC.Collect();
        ApplicationRestart();
    }
}

private void ApplicationRestart()
{
    try
    {
        if (Process.GetCurrentProcess().WorkingSet64 >= 10000000)
        {                         
            Application.Restart();                    
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.message);
    }
}
4

1 回答 1

2

你有无限递归,ExecuteLogic它不断地调用自己。这最终会使系统耗尽堆栈空间。如果您不想离开,请ExecuteLogic使用 while 循环

于 2013-03-21T02:56:05.463 回答