2011-04-06 53 views
37

我可以附加調試器,並把它打破 - 但它很難找到cs文件,我認爲LinqPad刪除它作爲構建的一部分.. 8-(如何在Visual Studio Debugger中調試LinqPad查詢?

+1

請注意,在詢問這個問題後,Linqpad推出了Linqpad的新版本,其中包含了它自己的調試器。 – Brian 2015-04-22 17:05:47

回答

44

如果你打電話Debugger.Launch()/Debugger.Break()啓動你LINQPad腳本中的斷點,LINQPad會猜測你想要使用VS調試腳本並不會刪除cs文件

+1

我只是另一個去C#程序這樣的'code'void Main() \t Debugger.Launch(); \t int i = 0; \t Debugger.Break(); \t i.Dump(); }'代碼'VS啓動無法找到代碼。但是,然後再次運行從LP,VS然後找到.cs文件.... – Adrian 2011-04-06 16:05:59

+0

我遇到了麻煩,然後意識到我試圖附加一個VS 2008調試器LINQPad.exe;它*具有*作爲支持.NET 4 +的VS版本(如VS 2012)。 – 2015-06-01 19:59:47

24
  • 開始LINQPad
  • 在VS,打開調試 - >附加到進程...
  • 選擇LINQPad.exe
  • 在LINQPad C#代碼調用的代碼中設置斷點,或者在要讓調試程序停止的LINQPad腳本中寫入Debugger.Break()。
  • 從LINQPad執行腳本並觀看魔術。
+2

在調用Debugger.Break()之前,您應該檢查Debugger.IsAttached屬性。 – Tormod 2013-09-30 16:06:09

2

如果你LINQPad代碼調用一些引用的C#組件的方法,你想調試組件,在Visual Studio 2015年,這個工作對我來說:

  1. 構建解決方案。
  2. (可選)運行LINQPad腳本,使其崩潰等。在右下角的LINQPad狀態欄中,注意淡藍色的PID。
  3. 在VS中,CTRL + ALT + P附加到進程。使用您看到的PID附加到LINQPad UserQuery過程。
  4. 在VS中放置一個斷點。
  5. 運行linqpad查詢並彈出到VS.你應該打你的斷點!