gpt4 book ai didi

c# - VS2012 是一个 BSOD 原因

转载 作者:可可西里 更新时间:2023-11-01 11:19:49 24 4
gpt4 key购买 nike

经过 36 小时的研究和检查,我明白了。

VS2012是'process has locked pages'蓝屏后的原因。

我试图打开一个线程来获取网络上的事件 IP(使用 C#)。显然,当您在线程处于事件状态时按下“停止”按钮时,窗口会崩溃。

这是线程代码:

    private void Button_Click_2(object sender, RoutedEventArgs e)
{

var thread = new Thread(() => TryToConnect(targetsList));

thread.SetApartmentState(ApartmentState.STA);
thread.Start();
thread.Join();

}

private static void TryToConnect(ListBox targetsList)
{
for (int i = 1; i < 3; i++)
{
Uri url = new Uri("http://192.168.1." + i.ToString());
string pingurl = string.Format("{0}", url.Host);
string host = pingurl;
Ping p = new Ping();
try
{
PingReply reply = p.Send(host, 3000);
if (reply.Status == IPStatus.Success)
{
ListBoxItem item = new ListBoxItem();
item.Content = "192.168.1." + i.ToString();
targetsList.Items.Add(item);
targetsList.Items.Refresh();
}
}

catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

// Thread.Sleep(10);
}
}

如您所见,该线程使用 Ping 255 次,因此需要一些时间才能完成。当我按下停止按钮时,显然 VS2012 调试进程使 Windows 崩溃。每次我尝试它时,Windows 都会崩溃。 (我的操作系统:Win7 64位)我这样做对吗?如果不能,是否可以修复?

最佳答案

这是一个known issue使用 Visual Studio(显然是从 VS2010 开始)和 Ping 类。

Posted by Microsoft on 06/02/2012 at 09:11
Thank you for your feedback. This is a known issue with the underlying Windows APIs used by the Ping class. The Windows team is will determine how to best handle the issue.

关于c# - VS2012 是一个 BSOD 原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17537972/

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