无法调试 .Net 代码。无法附加到进程。 SQL CLR 远程调试

Posted

技术标签:

【中文标题】无法调试 .Net 代码。无法附加到进程。 SQL CLR 远程调试【英文标题】:Unable to debug .Net Code. Could not attach to process. SQL CLR Remote Debugging 【发布时间】:2012-12-20 05:47:34 【问题描述】:

我正在尝试在 Visual Studio 2012 RTM 中调试基于 CLR 的 StoredProcedure。我有一个 Sql 数据库项目。当我尝试使用 RightClick 调试我的脚本文件 -> 使用调试器执行时,它会弹出一个关于附加进程有害的警告,当我接受它时,只需说:

无法调试 .Net 代码。无法附加到 SQL Server 进程 '开发服务器'。

我做过很多不同的事情:

我已将我的域用户添加到 sysadmin SQL Server 角色。

我已经在远程服务器上运行了 MSVSMON.EXE 并设置了它的权限。

我已在“属性”窗格中配置了 Visual Studio 项目的 ConnectionString。

我已将当前域用户添加到远程服务器的本地管理员。

在 Visual Studio 的 Sql Server 对象资源管理器中,我选择了当前连接并勾选了“允许 SQL\CLR 调试”

...

但还是说不能附加进程,也没有可以调试的源代码。

你有什么想法吗?我忘记了什么?

提前致谢

【问题讨论】:

【参考方案1】:

您好,在互联网上搜索了很长时间后,您的问题给了我我们问题的答案。 请仔细理解以下内容,

    以管理员提升的权限启动 Visual Studio 2012 创建 SQL Server 项目 在项目设置/调试窗格中,为数据库连接提供连接字符串 从查看菜单,打开 SQL Server 对象资源管理器,如果您在 Project 中提供的连接字符串没有创建服务器实例,则在此处重新创建连接... 右键单击实例并选择允许 SQL CLR 调试,它会显示一些警告,接受所有内容,但请仔细阅读警告。 保存项目并执行重建,并通过生成的发布脚本测试项目的发布。 现在在项目中创建一个非部署脚本,放置一个断点按 ALT+F5 执行带有 Debug 选项的脚本,当 clr-procedure 发生并尝试进入其中时,它会要求进程附加到 windows , 请允许附加

上面的步骤对我有用,这里是它的屏幕截图; "http://i.stack.imgur.com/GQwlt.png"

欲了解更多信息,您也可以通过以下方式与我联系; 维诺德 W.B.@vinodwb@live.com

【讨论】:

如果使用数据库别名,上述技术将不起作用。 VS 抱怨找不到机器,但别名列在 SQL Server 对象资源管理器中。

以上是关于无法调试 .Net 代码。无法附加到进程。 SQL CLR 远程调试的主要内容,如果未能解决你的问题,请参考以下文章

远程调试 msvsmon.exe VS2015 或无法附加到进程时,表达式求值器出现内部错误。 RPC 服务器不可用

Node.js 调试 - 无法附加调试器子进程

为啥我无法将调试器附加到已签名的 apk 进程?

暂停进程以留出时间让调试器附加

VS2012无法启动调试,只显示会附加到进程

无法调试 Azure webjobs - webjob 进程未显示在“附加到进程”对话框中