2010-09-21 93 views
1

我在一個解決方案中有多個項目。項目A(啓動項目)使用Process.Start啓動項目B.在vs 2010中的一個解決方案下進行多項目調試

所有的調試方法都可以在項目A中正常工作,但是在A啓動B後,不僅斷點不起作用,而且調用System.Diagnostics.Debug.WriteLine的調用輸出也不會顯示。

有沒有人知道如何在這種情況下調試?

回答

2

在這種情況下,您有2個進程正在運行,您需要將Visual Studio附加到它們兩者。 Visual Studio支持附加到多個進程,並使其與附加到單個進程相同。一旦第二進程啓動執行以下操作

  • 工具 - >附加到進程
  • 選擇過程
  • 命中附上
+0

感謝您的回答。我想我需要在項目開始階段添加一些阻止代碼。 – Xiwen 2010-09-21 21:32:50

+0

@Prophet,爲什麼不添加一個'Debug.Break'調用? – JaredPar 2010-09-21 21:38:08

+1

@Jared:你的意思是'Debugger.Break'。 http://msdn.microsoft.com/en-us/library/system.diagnostics.debugger.break.aspx – 2010-09-21 21:39:40

1

在運行時創建的新進程不會附加調試器,因此斷點和debug.writeline將不起作用。

一旦新進程運行,您可以在Visual Studio中選擇「調試」菜單,然後選擇「附加到進程」。

+0

感謝您的回答 – Xiwen 2010-09-21 21:35:18

1

您正在調試項目A正在工作的過程,並且因爲您正在啓動項目B的第二個過程,因此您尚未將調試程序附加到該過程。所以你需要重視第二個過程。

+0

感謝您的回答 – Xiwen 2010-09-21 21:36:04

0

你可以在主從項目的調用添加到System.Diagnostics.Debugger.Launch(); B.因此,每次啓動項目B時,它都會詢問您是否要附加調試器。

相關問題