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

Ruk*_*sim 2 c# sql-server debugging sqlclr visual-studio

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

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

Sol*_*zky 10

您可能还需要:

  1. 以管理员身份运行 Visual Studio
  2. 打开默认情况下被 Windows 防火墙阻止的其他端口
  3. 将项目设置为启动项目。
  4. 在 Visual Studio 中:转到“SQL Server 对象资源管理器”,在“项目属性”的“调试”选项卡中右键单击要部署到的实例,然后选择“允许 SQL/CLR 调试”,然后单击“是” "弹出对话框中的按钮。
  5. 如果希望断点起作用,则不能在“项目属性”的“SQLCLR 构建”选项卡中选中“优化代码”选项。默认情况下,未选中“调试”配置并选中“发布”配置。配置本身无关紧要,只要选中该选项即可。如果是,您需要取消选中它并重新发布并确保它确实更新了程序集(有时可能不会因为程序集没有其他更改)。
  6. 在 Visual Studio 中:从“SQL Server 对象资源管理器”打开一个新查询,然后在附加到“执行”>“按钮的下拉列表中,选择“使用调试器执行”(也是ALT+ F5)。有时断点不会在第一次被捕获,因此只需再次使用调试器执行即可。
  7. 请注意:您连接到 SQL Server 以进行调试的登录名必须是sysadmin.

可能还有一些额外的东西,但我很确定你不需要默认的调试脚本,即使一些关于这个的帖子说你需要。

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

无法附加到 SQL Server 以调试 SQLCLR 存储过程