在调试我正在处理的网站时,我倾向于使用Attach to Process而不是F5来开始调试(因为该网站已经在Firefox中)。但是,偶尔这样做时,我会收到以下错误:
对象'sp_sdidebug',数据库'master',所有者'dbo'的EXECUTE权限被拒绝。
我知道这是因为附加了T-SQL的调试器,而不仅仅是托管代码(有关该问题的进一步说明,请参阅this blog post)。
我希望可以设置一个地方以避免首先附加到T-SQL,而不必记得每次附加时重置该设置。
所以,这是真正的问题:有谁知道如何更改Visual Studio 2008的默认行为,以便在通过调试菜单附加到进程时,它不会自动附加到T-SQL,但仅限于托管代码?也就是说,如何将Studio设置为记住不附加到托管代码以外的任何内容?
仅供参考,如果有特定于项目的设置,我正在使用C#Web应用程序项目。
答案 0 :(得分:2)
您可以通过单击附加对话框中“附加到:”行上的“选择...”按钮来更改用于附加到流程的调试引擎。
选择“调试这些代码类型”选项而不是自动选项,并确保清除T-SQL选项。
我不知道如何将其设置为默认值,希望Visual Studio能够记住它。
答案 1 :(得分:1)
在项目属性下(在解决方案资源管理器中选择项目:右键单击并选择属性;或按Alt-F7;或按Alt-Enter;或从菜单中选择Project / xxxx属性),切换到[Debug]选项卡,取消选中“Enable SQl Debugging”
答案 2 :(得分:0)
如果右键单击VS中服务器资源管理器中的数据库连接,您应该看到2个调试选项,确保它们没有勾选。
同样在项目设置中,您可以更改是否启用了SQL调试。