2017-07-25 71 views
0

我嘗試過不同的方式來完成此操作,但沒有任何效果。當我運行測試腳本時,VS似乎忽略了.cs文件中的所有斷點。我在測試腳本中也包含了一個斷點,但仍然沒有進行調試。如何在VS 2013中調試CLR存儲過程

這是我試過的Microsoft https://msdn.microsoft.com/en-us/library/ms165051(v=vs.100).aspx的指南,但是當我右鍵點擊我的腳本文件時,我沒有「設置爲默認調試腳本」選項。

+0

你有什麼版本的VS?企業? –

+0

是的企業 –

+0

提供[mcve]。 –

回答

0

您可能還需要:

  1. 運行Visual Studio作爲管理員
  2. 打開那些額外的端口,默認情況下,Windows防火牆阻止
  3. 將項目作爲啓動項目。
  4. 在Visual Studio中:轉到「SQL Server對象資源管理器」,在「項目屬性」的「調試」選項卡上右鍵單擊正在部署的實例,然後選擇「允許SQL/CLR調試」,然後單擊彈出對話框中的「是」按鈕。
  5. 如果要使斷點正常工作,則不能在「項目屬性」的「SQLCLR構建」選項卡中選中「優化代碼」選項。默認情況下,它沒有選中「調試」配置並檢查「發佈」配置。配置本身並不重要,只要該選項是而不是選中。如果是這樣,你需要取消選中並重新發布,並確保它實際更新大會(有時它可能不會因爲大會沒有其他更改)。
  6. 在Visual Studio中:打開從「SQL Server的對象資源管理器」,並在連接到執行下拉的新查詢「>」按鈕,選擇「執行與調試器」(這也是ALT + F5 )。有時候斷點並不是第一次被捕獲,所以只需再次使用調試器執行即可。

可能還有一些額外的事情,但我相當確定你不需要默認的調試腳本,即使有些關於此的帖子說你這樣做。

請在這裏看到我的回答和有關問題的評論中的鏈接:

Can't attach to SQL Server to debug SQLCLR Stored Procedure

+0

謝謝你的回覆。我嘗試了所有你提到的,但我仍然面臨同樣的問題。 –

+0

@RukshanHassim,看到這個線程共享了詳細的步驟:https://stackoverflow.com/questions/14180009/unable-to-debug-net-code-could-not-attach-to-process-sql-clr-remote調試,似乎你參考了舊的VS2010文檔。 –

+0

@RukshanHassim我剛剛添加了步驟4,5和6.請確保您也正在關注這些並重試。如果我完成所有這些步驟中的6個,那麼它就可以工作(我正在使用VS 2015,如果這很重要,儘管我似乎記得這些步驟在VS 2012和/或VS 2013上都有效)。 –