如何在VS 2015中调试存储过程?

16

我知道这个问题已经被问了很多次,我已经阅读过它们。在解决方案中,我已经在所有项目中勾选了[启用SQL Server调试]。

我的项目:

  • ASP.NET web应用程序
  • DAL类库。(DAL使用传统的.dbml生成SP调用包装器代码。项目中没有使用OR映射器或直接ADO.NET。)
  • SQL Server 11.0.3153

我想在VS调试C#代码时调试我的被调用SPs。理想情况下,它应该步入SP,但如果不支持,则在设置的断点处中断SP。

不幸的是,它两者都没有做到。如果我在SP中设置一个断点,它不是填充的红色圆圈,而是未填充的,这不是一个好迹象。(我是通过打开数据连接,在Server Explorer中打开SP并在VS编辑器中设置此断点的。

我错过了什么?

2个回答

41

根据我的经验和研究,以下是一些通用指令。

  1. 以管理员身份运行Visual Studio(在我的情况下,使用社区版),因为我发现只有在以管理员身份运行VS时才能从VS中调试存储过程。
  2. 进入解决方案资源管理器,右键单击项目并选择属性。
  3. 点击Web选项卡,确保SQL Server已被选中。保存并关闭。
  4. 点击“查看”菜单,然后选择“SQL Server对象资源管理器”。
  5. 在SQL Server对象资源管理器中,展开SQL Server。如果您没有看到您的SQL Server,请右键单击SQL Server并添加它。
  6. 右键单击刚刚添加的SQL Server,并确保应用程序调试和允许SQL / CLR调试都被选中。
  7. 展开您添加的SQL Server实例并找到所需的存储过程。
  8. 右键单击该SP并单击“查看代码”。
  9. 设置断点。
  10. 运行并享受。

在下一次您关闭VS并稍后重新打开时,您可能需要执行其中的一些操作才能调试存储过程。


7
我的断点显示:“当前无法命中断点。此时无法绑定 SQL 断点,包含断点的对象未加载。” - Talon

0

我曾经遇到过同样的问题...

在“解决方案配置”下拉菜单中,所选配置为“调试(活动状态)”。我将其更改为“调试”。

更改后,调试器正常工作,“调试(活动状态)”选项也从列表中消失了。

Screenshot


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接