我在一個解決方案中有多個項目。項目A(啓動項目)使用Process.Start
啓動項目B.在vs 2010中的一個解決方案下進行多項目調試
所有的調試方法都可以在項目A中正常工作,但是在A啓動B後,不僅斷點不起作用,而且調用System.Diagnostics.Debug.WriteLine
的調用輸出也不會顯示。
有沒有人知道如何在這種情況下調試?
我在一個解決方案中有多個項目。項目A(啓動項目)使用Process.Start
啓動項目B.在vs 2010中的一個解決方案下進行多項目調試
所有的調試方法都可以在項目A中正常工作,但是在A啓動B後,不僅斷點不起作用,而且調用System.Diagnostics.Debug.WriteLine
的調用輸出也不會顯示。
有沒有人知道如何在這種情況下調試?
在這種情況下,您有2個進程正在運行,您需要將Visual Studio附加到它們兩者。 Visual Studio支持附加到多個進程,並使其與附加到單個進程相同。一旦第二進程啓動執行以下操作
在運行時創建的新進程不會附加調試器,因此斷點和debug.writeline將不起作用。
一旦新進程運行,您可以在Visual Studio中選擇「調試」菜單,然後選擇「附加到進程」。
感謝您的回答 – Xiwen 2010-09-21 21:35:18
您正在調試項目A正在工作的過程,並且因爲您正在啓動項目B的第二個過程,因此您尚未將調試程序附加到該過程。所以你需要重視第二個過程。
感謝您的回答 – Xiwen 2010-09-21 21:36:04
你可以在主從項目的調用添加到System.Diagnostics.Debugger.Launch();
B.因此,每次啓動項目B時,它都會詢問您是否要附加調試器。
感謝您的回答。我想我需要在項目開始階段添加一些阻止代碼。 – Xiwen 2010-09-21 21:32:50
@Prophet,爲什麼不添加一個'Debug.Break'調用? – JaredPar 2010-09-21 21:38:08
@Jared:你的意思是'Debugger.Break'。 http://msdn.microsoft.com/en-us/library/system.diagnostics.debugger.break.aspx – 2010-09-21 21:39:40