Hôm nay tôi gặp phải sự cố là tôi cần phải gỡ lỗi từ xa một chương trình. Chương trình đã được khởi chạy từ một hệ thống khác, vì vậy tôi thực sự không có cơ hội tương tác với nó trên dòng lệnh. Tôi có thể thay đổi nguồn của nó một cách dễ dàng mặc dù.Cách đợi cho đến khi trình gỡ lỗi .NET từ xa đính kèm
Điều tôi cần xảy ra là chương trình bắt đầu bình thường và sau đó đợi tôi đính kèm với chương trình gỡ rối. Tôi không thể nghĩ ra cách để làm điều đó khiến tôi hạnh phúc. Tôi đã tìm thấy lỗi, nhưng không có sự trợ giúp của trình gỡ rối.
while(true) { }
Giữ quá trình còn hoạt động, sau đó tôi có thể "đặt câu lệnh tiếp theo" bằng trình gỡ lỗi, nhưng có vẻ khó xử và thô lỗ.
Console.ReadLine();
Có vẻ lẻ để gõ vì không không thực sự là một Console cho tôi để nhấn nhập tại. (Nó không hoạt động, hoặc là. Đặt câu tiếp theo và sau đó chạy sẽ đưa bạn trở lại ReadLine() chờ đợi.)
Vì vậy, loại mã nào tôi có thể chèn vào chương trình .NET/CLR/C# có nội dung " chờ ở đây cho đến khi tôi có thể đính kèm với một trình gỡ lỗi "?
Cảm ơn câu trả lời này.Tôi biết đã có một cách để kiểm tra từ mã nếu một trình gỡ lỗi được đính kèm, và đây là lần đầu tiên/tốt nhất tôi nhận được từ tìm kiếm. –
Thay thế thời gian bằng một if và giấc ngủ với một khẳng định có thể là một giải pháp tốt hơn, bởi vì nó sẽ cho phép bạn tiếp tục một cách dễ dàng nếu bạn không muốn đính kèm một trình sửa lỗi mỗi lần. – Luke
Có thể sử dụng một số loại sự kiện từ 'Debugger' và chờ một số' AutoResetEvent' cho đến khi sự kiện 'IsAttached' được nâng lên không? – Pixar