“尝试调试.NET代码调用的SQL存储过程时,”断点当前不会被命中...“错误

时间:2011-01-19 15:34:28

标签: .net sql-server debugging stored-procedures

我收到错误:

  

“断点当前不会   击中。无法绑定SQL断点   此时。包含的对象   断点未加载“

alt text 当我执行steps调试从我的.net应用程序调用的存储过程?

我应该检查什么?

(VS 2005和SQL Server 2005都在同一台PC上运行,如果我从服务器资源管理器“步入”,我可以调试存储过程)

3 个答案:

答案 0 :(得分:2)

确保在项目属性>调试>选中“启用SQL服务器调试”,否则您将无法从.net代码进入存储过程(即使您可以使用服务器资源管理器单步执行)。必须是执行项目。

如果从SqlCommand调用存储过程,请在Command.Execute()行上设置断点,然后单步执行。从那里,您将被带到存储过程代码,并将能够完成它。

如果继续获取空断点图标,请尝试刷新服务器资源管理器。

答案 1 :(得分:1)

除了在项目上启用SQL调试之外,就像DustinDavis所说,我必须选择"允许SQL / CLR调试"在SQL Server对象资源管理器(Visual Studio 2015)中的服务器的上下文菜单中。见How can I step into a SQL Server stored proc from my C# code?

同时确保运行VS的用户帐户和应用程序连接的用户帐户都具有sysadmin权限。

答案 2 :(得分:0)

在Visual Studio 2017中仍然发生相同的错误。对我有帮助的是:

  1. 右键单击SQL Server Object Explorer中的服务器,然后检查 “允许SQL / CLR调试” /“应用程序调试”或两者。
  2. 在SQL Server对象资源管理器中找到要调试的对象。
  3. 右键单击它->调试(过程/功能)。
  4. 在“调试功能”窗口中指定所有参数(如果存在)。
  5. Visual Studio生成代码以调试该代码(过程/功能),进入“步入”(F11),并在需要时(过程/功能)代码设置所需的断点。
  6. 现在,您可以通过按“继续”按钮继续当前的调试,并在完成调试后以调试模式运行您的应用。
  7. 利润。现在,在.NET代码的第4步中设置了Visual Studio进入断点的步骤。