如何在 VS 2013 中调试 CLR 存储过程
How to debug a CLR Stored procedure in VS 2013
我尝试了不同的方法来完成这项工作,但没有任何效果。当我 运行 测试脚本时,VS 似乎忽略了我在 .cs 文件中的所有断点。我也在测试脚本中包含了一个断点,但仍然无法调试。
这是我试过的来自 Microsoft https://msdn.microsoft.com/en-us/library/ms165051(v=vs.100).aspx 的指南,但是当我右键单击我的脚本文件时没有 "a Set as Default Debug Script" 选项。
您可能还需要:
- 运行 Visual Studio 作为管理员
- 打开默认情况下被Windows 防火墙
阻止的其他端口
- 将项目设置为启动项目。
- 在 Visual Studio 中:转到 "SQL Server Object Explorer",在 "Project Properties" 的 "Debug" 选项卡中右键单击要部署到的实例,然后 select "Allow SQL/CLR Debugging",在弹出的对话框中点击"Yes"按钮。
- 如果您希望断点起作用,则不能在 "Project Properties" 的 "SQLCLR Build" 选项卡中选中 "Optimize Code" 选项。默认情况下,未选中 "Debug" 配置并选中 "Release" 配置。配置本身并不重要,只要 未 选中该选项即可。如果是,您需要取消选中它并重新发布并确保它确实更新了程序集(有时可能不会,因为程序集没有其他更改)。
- 在 Visual Studio 中:从 "SQL Server Object Explorer" 打开一个新查询,并在附加到执行“>”按钮的下拉列表中,select "Execute With Debugger"(这是还有 ALT + F5)。有时断点并没有在第一次被捕获,所以只需再次使用调试器执行。
- 请注意:您连接到 SQL 服务器的登录名需要是
sysadmin
。
可能还有一些额外的东西,但我很确定你不需要默认的调试脚本,即使一些关于这个的帖子说你需要。
请在此处查看我的回答以及问题评论中的链接:
Can't attach to SQL Server to debug SQLCLR Stored Procedure
如果您在同一台机器上有 Visual Studio 和 SQL 服务器,只需将 sqlservr.exe 附加到 Visual Studio 调试器,然后执行存储过程。应该打SP法吧
我尝试了不同的方法来完成这项工作,但没有任何效果。当我 运行 测试脚本时,VS 似乎忽略了我在 .cs 文件中的所有断点。我也在测试脚本中包含了一个断点,但仍然无法调试。
这是我试过的来自 Microsoft https://msdn.microsoft.com/en-us/library/ms165051(v=vs.100).aspx 的指南,但是当我右键单击我的脚本文件时没有 "a Set as Default Debug Script" 选项。
您可能还需要:
- 运行 Visual Studio 作为管理员
- 打开默认情况下被Windows 防火墙 阻止的其他端口
- 将项目设置为启动项目。
- 在 Visual Studio 中:转到 "SQL Server Object Explorer",在 "Project Properties" 的 "Debug" 选项卡中右键单击要部署到的实例,然后 select "Allow SQL/CLR Debugging",在弹出的对话框中点击"Yes"按钮。
- 如果您希望断点起作用,则不能在 "Project Properties" 的 "SQLCLR Build" 选项卡中选中 "Optimize Code" 选项。默认情况下,未选中 "Debug" 配置并选中 "Release" 配置。配置本身并不重要,只要 未 选中该选项即可。如果是,您需要取消选中它并重新发布并确保它确实更新了程序集(有时可能不会,因为程序集没有其他更改)。
- 在 Visual Studio 中:从 "SQL Server Object Explorer" 打开一个新查询,并在附加到执行“>”按钮的下拉列表中,select "Execute With Debugger"(这是还有 ALT + F5)。有时断点并没有在第一次被捕获,所以只需再次使用调试器执行。
- 请注意:您连接到 SQL 服务器的登录名需要是
sysadmin
。
可能还有一些额外的东西,但我很确定你不需要默认的调试脚本,即使一些关于这个的帖子说你需要。
请在此处查看我的回答以及问题评论中的链接:
Can't attach to SQL Server to debug SQLCLR Stored Procedure
如果您在同一台机器上有 Visual Studio 和 SQL 服务器,只需将 sqlservr.exe 附加到 Visual Studio 调试器,然后执行存储过程。应该打SP法吧