如何在VS 2013中调试CLR存储过程

时间:2017-07-25 10:51:11

标签: c# sql-server visual-studio debugging sqlclr

我尝试过不同的方法来完成这项任务,但没有任何效果。当我运行测试脚本时,VS似乎忽略了.cs文件中的所有断点。我在测试脚本中也包含了一个断点,但仍然没有调试。

这是我尝试过的Microsoft https://msdn.microsoft.com/en-us/library/ms165051(v=vs.100).aspx指南,但我没有"设置为默认调试脚本"右键单击我的脚本文件时的选项。

2 个答案:

答案 0 :(得分:1)

您可能还需要:

  1. 以管理员身份运行Visual Studio
  2. 打开默认情况下被Windows防火墙阻止的其他端口
  3. 将项目设置为启动项目。
  4. 在Visual Studio中:转到“SQL Server对象资源管理器”,在“项目属性”的“调试”选项卡中右键单击要部署到的实例,然后选择“允许SQL / CLR调试”,然后单击弹出对话框中的“是”按钮。
  5. 如果要使用断点,则不能在“项目属性”的“SQLCLR构建”选项卡中选中“优化代码”选项。默认情况下,未选中“Debug”配置并检查“Release”配置。配置本身并不重要,只要该选项已选中。如果是,则需要取消选中并重新发布并确保它实际更新程序集(有时可能没有,因为程序集没有其他更改)。
  6. 在Visual Studio中:从“SQL Server对象资源管理器”和附加到执行“>”的下拉列表中打开一个新查询按钮,选择“使用调试器执行”(也是 ALT + F5 )。有时断点不会在第一次被捕获,所以只需再次使用调试器执行。
  7. 可能还有一些其他的东西,但我很确定你不需要一个默认的调试脚本,即使有一些关于这个的帖子说你做了。

    请在此处查看我的回答以及对问题的评论中的链接:

    Can't attach to SQL Server to debug SQLCLR Stored Procedure

答案 1 :(得分:1)

如果在同一台计算机上有Visual Studio和SQL Server,只需将sqlservr.exe附加到Visual Studio调试器,然后执行存储过程。应该点击SP方法。