2017-07-25 54 views
0

我尝试过不同的方式来完成此操作,但没有任何效果。当我运行测试脚本时,VS似乎忽略了.cs文件中的所有断点。我在测试脚本中也包含了一个断点,但仍然没有进行调试。如何在VS 2013中调试CLR存储过程

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

+0

你有什么版本的VS?企业? –

+0

是的企业 –

+0

提供[mcve]。 –

回答

0

您可能还需要:

  1. 运行Visual Studio作为管理员
  2. 打开那些额外的端口,默认情况下,Windows防火墙阻止
  3. 将项目作为启动项目。
  4. 在Visual Studio中:转到“SQL Server对象资源管理器”,在“项目属性”的“调试”选项卡上右键单击正在部署的实例,然后选择“允许SQL/CLR调试”,然后单击弹出对话框中的“是”按钮。
  5. 如果要使断点正常工作,则不能在“项目属性”的“SQLCLR构建”选项卡中选中“优化代码”选项。默认情况下,它没有选中“调试”配置并检查“发布”配置。配置本身并不重要,只要该选项是而不是选中。如果是这样,你需要取消选中并重新发布,并确保它实际更新大会(有时它可能不会因为大会没有其他更改)。
  6. 在Visual Studio中:打开从“SQL Server的对象资源管理器”,并在连接到执行下拉的新查询“>”按钮,选择“执行与调试器”(这也是ALT + F5 )。有时候断点并不是第一次被捕获,所以只需再次使用调试器执行即可。

可能还有一些额外的事情,但我相当确定你不需要默认的调试脚本,即使有些关于此的帖子说你这样做。

请在这里看到我的回答和有关问题的评论中的链接:

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

+0

谢谢你的回复。我尝试了所有你提到的,但我仍然面临同样的问题。 –

+0

@RukshanHassim,看到这个线程共享了详细的步骤:https://stackoverflow.com/questions/14180009/unable-to-debug-net-code-could-not-attach-to-process-sql-clr-remote调试,似乎你参考了旧的VS2010文档。 –

+0

@RukshanHassim我刚刚添加了步骤4,5和6.请确保您也正在关注这些并重试。如果我完成所有这些步骤中的6个,那么它就可以工作(我正在使用VS 2015,如果这很重要,尽管我似乎记得这些步骤在VS 2012和/或VS 2013上都有效)。 –