【发布时间】:2018-08-03 13:08:29
【问题描述】:
我确定我遗漏了一些非常明显的东西,但它正在逃避我。
我正在尝试在开发机器上调试 SQL Server 2012 数据库中的存储过程。我在本地机器上使用 VS 2017 Professional。通过输入参数值,我可以通过 SQL Server 对象资源管理器设置断点并调试存储过程。
但是:我想使用 IISExpress 从我在 VS 2017 中运行的 Web 应用程序调试存储过程。我是这样设置的:
我对 Server Explorer 连接和 Web 应用程序使用相同的连接字符串。
用户在 SQL Server 中具有管理员权限
在 Web 应用程序的属性页中,我检查了“ASP.NET”和“SQL Server”的调试器
我已将配置管理器设置为在任何 CPU 上进行调试。
当我运行应用程序时,我在调用存储过程之前和之后设置了一个断点。
当我运行应用程序时,它会在调用存储过程之前的断点处中断,但会直接跳到下一个应用程序断点。存储过程中的断点是一个带有消息的空心圆圈 '断点当前不会被命中。此时无法绑定 sql 断点。包含未加载断点的对象。'
我知道我可以简单地中断 Web 应用程序,获取存储过程的参数值并从 SQL Server 对象资源管理器中运行它来单步执行代码,但我不应该这样做。
任何帮助将不胜感激。
【问题讨论】:
-
您是否在调用存储过程的数据连接上启用了允许 SQL/CLR 调试?请查看此线程中的更多详细步骤:stackoverflow.com/questions/32885855/…。此外,如果您是从远程机器调试。您应该登录到服务器计算机并在本地进行调试。顺便说一句,有一篇关于如何在 Visual Studio .NET 中调试存储过程的文档:support.microsoft.com/en-gb/help/316549/…
-
谢谢。我在数据连接上启用了允许 SQL/CLR 调试。我正在运行在本地调用存储过程的应用程序,但 SQL Server 实例所在的服务器对我不可用,因此我无法对其进行调试。如果我直接从 Sql Server 对象视图而不是从也调用它的托管代码执行它,我可以调试存储过程,这似乎很奇怪?
-
@Jerry Mollis,请您与我们分享您身边的最新信息吗?如果您提交此反馈,请在此处与我们分享您的答案中的链接,以便我们帮助您投票。
标签: sql sql-server debugging visual-studio-2017 breakpoints