gpt4 book ai didi

c# - 调试失败但在其他情况下有效

转载 作者:行者123 更新时间:2023-11-30 22:33:15 32 4
gpt4 key购买 nike

为什么我总是得到|访问被拒绝|调试期间出现异常?

foreach(Process p in Process.GetProcesses())
{
string module=p.MainModule.Filename;
}

无论是什么进程,异常总是被调用。但是如果我不调试就开始,它就可以工作。顺便获取一下进程的完整路径/。

最佳答案

访问被拒绝错误(确切地说是 Win32Exception)的发生是因为您正在查询对不再运行的进程的引用。 GetProcesses 返回一个数组。如果一个进程在列表返回后终止,如果您尝试查询该进程,您将得到此异常。

不调试也能正常运行,纯属巧合。

要重现试试这个。启动记事本。运行以下代码。

var processes = Process.GetProcesses();
Console.WriteLine("press enter");
Console.ReadLine();
foreach (var p in processes) Console.WriteLine(p.MainModule.FileName);

当应用程序输出“按回车”时关闭记事本。当您按下 enter 键时,您将在尝试查询记事本的 Process 实例时遇到异常。

关于c# - 调试失败但在其他情况下有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8395798/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com