2012-11-16 29 views
3

我知道這裏還有其他問題涉及到這個問題,但我對任何問題的建議都沒有幫助。從VS2010和SQL Server 2008進行SQL應用程序調試 - 無法命中存儲過程中的斷點

我想調試存儲過程,從VB.Net應用程序步入其代碼。

我可以使用VS 2010中的服務器資源管理器進入存儲過程。但是,我不能從我的.Net應用程序中的代碼導入存儲過程。在我的.net代碼中,在讀取「ExecuteNonQuery()」的行中有一個斷點,在我的存儲過程中有一個斷點。當我以調試模式運行應用程序時,存儲過程中的斷點會顯示「此斷點當前不會被命中,沒有爲此文檔加載符號」。當我的斷點在.Net代碼中被執行時,執行從ExecuteNonQuery行直接到達下一行.Net代碼 - 沒有在存儲過程中觸發我的斷點。

我爲.NET項目啓用了SQL調試。我有「啓用SQL/CLR調試」啓用數據連接到我的數據庫在服務器資源管理器。我的調試器連接到託管(4.0),本機和T-SQL流程(通過調試菜單中的附加到進程對話框進行確認)。

sql服務器實例和VS實例都在我的本地機器上,我是它的管理員。我從卡西尼運行應用程序,它運行在我自己的帳戶下。我正在運行VS2010 V 10.0.40219.1 sp1 Rel和SQL Server 2008,SP 2安裝在64位Win2k8機器上。

幫助,請 - 任何人!我已經浪費了2天!

+2

你有什麼理由不介入sp?我從2010年開始一直遇到麻煩,特別是在2010年。我只是建議在數據庫上運行一個跟蹤並捕獲sp調用,然後調試它。這樣你就可以確切地知道傳入SP的參數。 –

回答

0

我知道這是一個古老的問題,但我想我會提供以下工作全面的解決方案,這將允許您調試存儲過程,並可能對其他人來解決這個問題。希望你會找到有價值的步驟!

建議步驟:

  1. 運行SQL Server事件探查(例如從內SQL Server Management Studio中(SSMS) - 選擇菜單項工具 - >SQL Server事件探查)。
  2. 使用SQL Server Profiler 連接到本地SQL Server實例。
  3. 單擊運行按鈕上跟蹤屬性窗口。
  4. 注意:您應該注意,SQL Server Profiler現在將監視本地SQL Server實例上的活動(例如,Stored Proc執行等)。
  5. 由於把之前的的ExecuteNonQuery()語句斷點集。
  6. 運行你的.Net代碼,它應該達到上面提到的斷點。
  7. 執行斷點的ExecuteNonQuery()語句之前回去SQL Server Profiler中清除跟蹤(使用按Ctrl + Shift + Del鍵或點擊清除跟蹤窗口按鈕。
  8. 現在在VS 執行/分步過的ExecuteNonQuery()聲明。
  9. SQL Server事件探查注意,聖一絲現在被捕獲的Proc(以及任何參數)。
  10. SQL Server事件探查簡單地複製跟蹤結果(即存儲過程使用參數)。
  11. 打開新的查詢窗口SSMS
  12. 確保Alt + F5或從菜單調試連接本地實例數據庫開始調試 - >啓動調試

您現在應該希望能夠根據需要調試您的Stored Proc!

相關問題