2010-04-19 47 views
34

我經常使用VS 2008來調試應用程序的.NET C#組件。有時候,我想退出調試並繼續運行應用程序。停止調試會殺死我正在調試的進程。如何停止調試(或分離進程)而不停止進程?

我該如何實現我的目標?

這不是一個web應用程序,它是一個運行託管代碼和非託管代碼的本地進程。

我發現「分離所有」在Debug菜單選項,但它是禁用(變灰)

+0

你不小心刪除了全部分離按鈕嗎? – CookieOfFortune 2010-04-19 23:11:17

+0

不知道它曾經存在過。我確實罰款了,但在附加到我的流程時不可用。 – Valentein 2010-04-19 23:28:58

+0

我也有同樣的問題。除了殺死它之外,沒有辦法從調試過程中分離出來。 – 2011-03-25 15:50:48

回答

26

如果您在混合模式下進行調試,則無法從進程中分離調試器。

確保您在託管或純模式下進行調試,同時附加到進程:確保在您的項目選項中未選中「啓用本地代碼調試」或「本機代碼」,或者在未經調試的情況下啓動程序,選擇「附加到進程」,並且只選擇託管或僅選擇本地。

6

調試 - >分離所有

作品在我的VS2008和VS2010很大。

+0

你的想法奏效 - 你是國王! – 2012-09-10 11:45:38

26

打開進程窗口(Debug-> Windows-> Processes),右鍵點擊進程,選擇「Detach Process」。

+3

不幸的是,這似乎也被禁用在混合模式下... – Cameron 2014-03-31 19:45:17