Tôi đính kèm trình gỡ rối bằng cách chuyển '-d' làm tham số dòng lệnh cho ứng dụng bảng điều khiển của tôi. Điều đó khiến mã sau được gọi;C# - Cách tiếp tục sau khi không đính kèm trình gỡ lỗi - System.Diagnostics.Debugger.Launch()
bool attachedDebugger = false;
try
{
attachedDebugger = System.Diagnostics.Debugger.Launch();
}
catch (Exception) { }
finally
{
Console.WriteLine(attachedDebugger ? "Debugger Attached" : "Failed to attach debugger");
}
Sau khi cửa sổ Visual Studio 2010 JIT bật lên Đôi khi tôi thay đổi quyết định và không muốn gỡ lỗi, vì vậy tôi loại bỏ hộp thoại. Nếu tôi không đính kèm một ứng dụng thì Ứng dụng sẽ thoát ngay lập tức mà không cần bất cứ điều gì được ghi vào bảng điều khiển.
Tôi biết rằng đây là một trường hợp sử dụng cạnh, tôi chỉ cần xóa '-d' khỏi dòng lệnh nếu tôi không muốn gỡ lỗi. Lý do cho câu hỏi của tôi là tôi muốn hiểu điều gì đang xảy ra.
Tôi nghĩ rằng khối cuối cùng là luôn gọi được gọi, hơn nữa tôi mong đợi đơn đăng ký của mình tiếp tục nếu chúng tôi không đính kèm trình gỡ lỗi.
- Tại sao không có gì được in trên bảng điều khiển nếu tôi từ chối đính kèm trình gỡ rối?
- Có
Debugger.Launch()
gọiSystem.Exit
khi không đính kèm?
EDIT Cảm ơn @ Moo-Juice bây giờ tôi biết rằng một giá trị trả về của false
ngụ ý một debugger đã được gắn liền nhưng các câu hỏi trên vẫn chưa được giải quyết.
Giá trị boolean trả về là 'false' nếu trình gỡ lỗi * đã được đính kèm *. –