今天我遇到了一個問題,我需要遠程調試一個程序。該程序是從另一個系統啓動的,所以我實在沒有機會在命令行上與它進行交互。雖然我可以很容易地改變它的來源。如何等待,直到連接遠程.NET調試器
我需要發生的是程序正常啓動,然後等待我用調試器附加到它。我無法想出辦法讓我開心。我確實發現了這個錯誤,但沒有調試器的幫助。
while(true) { }
不停過程活着,然後我可以「設置下一條語句」使用調試器,但它似乎尷尬和粗魯。
Console.ReadLine();
看起來很怪異類型,因爲那裏本來就不是一個控制檯我按在進入。 (它也沒有工作,設置下一個語句,然後運行將帶您回到ReadLine()等待)。
那麼,我可以在.NET/CLR/C#程序中插入什麼樣的代碼,在這裏等待,直到我可以附加一個調試器「?
感謝您的回答。我知道必須有一種方法來檢查代碼是否附加了調試器,這是我從搜索中獲得的第一個/最好的命中。 – 2009-09-30 21:28:25
使用if替換while以及使用assert替換睡眠可能是更好的解決方案,因爲如果您不想每次都附加調試器,它將允許您輕鬆地繼續。 – Luke 2011-08-13 15:30:39
是否可以使用`Debugger`中的某種事件並等待某個`AutoResetEvent`直到引發IsAttached事件? – Pixar 2015-08-27 11:59:15