从VS 2017无法在存储过程中执行断点

时间:2018-08-03 13:08:29

标签: sql sql-server debugging visual-studio-2017 breakpoints

我确定我遗漏了一些非常明显的东西,但是它正在逃避我。

我正在尝试在开发计算机上的SQL Server 2012数据库中调试存储过程。我在本地计算机上使用VS 2017 Professional。通过输入参数值,我可以设置一个断点并通过SQL Server Object Explorer调试存储过程。

如何:我想使用IISExpress从运行于VS 2017中的Web应用程序调试存储过程。我就这样成立了:

  • 我为Server Explorer连接和Web应用程序使用了相同的连接字符串。

  • 用户在SQL Server中具有管理员权限

  • 在Web应用程序的属性页中,我已在调试器中检查了“ ASP.NET”和“ SQL Server”

  • 我为任何CPU上的调试设置了配置管理器。

  • 运行应用程序时,我在调用存储过程之前和之后设置了一个断点。

当我运行应用程序时,它在调用存储过程之前的断点处中断,但是直接跳到下一个应用程序断点。存储过程中的断点有一个带有消息的空心圆 断点目前不会被击中。目前无法绑定SQL断点。包含断点的对象未加载。'

我知道我可以简单地进入Web应用程序,获取存储过程的参数值,然后从SQL Server Object Explorer运行它以逐步执行代码,但是我不必这样做。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

我用一个简单的示例对其进行了测试,我可以使用VS2015达到断点,但不能在VS2017中使用,所以这将是一个反馈。

enter image description here

如果可能,我建议您直接将反馈发布到开发者社区网站:

https://developercommunity.visualstudio.com/spaces/8/index.html

答案 1 :(得分:0)

让这个对我有用的重要步骤是:

  • 不要使用 Resharper 的测试运行器运行 C# 代码(在我的例子中是集成测试),使用标准的 Visual Studio 测试运行器。

这为我解决了它。由于某种原因,Resharper 测试运行程序没有触发 T-SQL 调试。

因为听起来您的问题不是专门与集成测试有关,所以这可能对您有帮助,也可能对您没有帮助,如果有用,请发帖。

(使用 VS2019 和 Resharper 2020.2.4)。