gpt4 book ai didi

.net - 如何等待远程 .NET 调试器连接

转载 作者:行者123 更新时间:2023-12-03 05:43:41 24 4
gpt4 key购买 nike

今天我遇到了一个问题,我需要远程调试程序。该程序是从另一个系统启动的,所以我真的没有机会在命令行上与它交互。不过,我可以轻松更改其来源。

我需要做的是让程序正常启动,然后等待我用调试器附加到它。我想不出一个让我快乐的方法。我确实发现了这个错误,但没有调试器的帮助。

while(true) { }

保持进程处于事件状态,然后我可以使用调试器“设置下一个语句”,但这看起来很尴尬且粗鲁。

Console.ReadLine();

打字看起来很奇怪,因为实际上没有控制台供我按输入。 (它也不起作用。设置下一个语句然后运行会让您返回 ReadLine() 等待。)

那么我可以在 .NET/CLR/C# 程序中插入什么样的代码来表示“在这里等待,直到我可以附加调试器”?

最佳答案

您可以使用System.Diagnostics.Debugger.IsAttached属性来检查调试器是否附加到进程。此应用程序将等待,直到附加调试器:

using System;
using System.Diagnostics;
using System.Threading;

namespace DebugApp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Waiting for debugger to attach");
while (!Debugger.IsAttached)
{
Thread.Sleep(100);
}
Console.WriteLine("Debugger attached");
}
}
}

关于.net - 如何等待远程 .NET 调试器连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/361077/

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