远程调试不会因错误而中断
Posted
技术标签:
【中文标题】远程调试不会因错误而中断【英文标题】:Remote Debugging is not breaking on errors 【发布时间】:2010-11-30 19:39:10 【问题描述】:我对 Visual Studio 中的远程调试相当陌生,我的新意思是我以前从未做过。以下是我尝试在我们网络中的一台服务器上远程调试应用程序的步骤:
在VS2008“\\server\website”中打开一个网站 在“服务器”上使用“无身份验证”和“允许任何用户调试”启动 msvsmon 服务 从 VS2008 开始,使用远程传输附加到“服务器”上的 w3wp 进程调试开始,一切似乎都很好,但是当我转到出现错误的页面时,它不会中断并让我调试。我错过了什么吗?
【问题讨论】:
您的断点显示为填充还是空心?你能在其他页面上打断点吗? 断点显示空心并表示没有加载任何符号。 【参考方案1】:这是checklist。
【讨论】:
【参考方案2】:您需要确保正确加载了 PDB 文件。
Visual Studio 将在该远程位置查找 PDB 文件(其中包含调试器信息),如果找不到它们,则它没有必要的调试符号来中断。
向符号文件(.pdb 或 .dbg)位置列表添加路径名
-
在“工具”菜单上,选择“选项”。
在“选项”对话框中,单击“调试”节点将其打开。
在调试下,选择符号类别。
在符号页面上,有一个框显示符号文件 (.pdb) 位置。框上方是四个图标。单击文件夹图标,可编辑文本将出现在符号文件 (.pdb) 位置框中。
编辑文本以添加新路径。语句完成有助于您获得正确的格式。
确保未选择仅在手动加载符号时搜索上述位置,除非您想在调试时手动加载符号。
如果您在远程符号服务器上使用符号,则可以通过指定可以将符号复制到的本地目录来提高性能。为此,请使用从符号服务器缓存符号到此目录框。请注意,如果您在远程计算机上调试程序,则缓存目录是指远程计算机上的目录。
点击确定。
http://msdn.microsoft.com/en-us/library/x54fht41.aspx
【讨论】:
我试过了,不行,我在 bin 文件夹中有一个 pdb 文件,它是在 web config 中使用 debug 和 debug=true 编译的。 我认为我们在这里的方向是正确的,因为所有迹象都表明没有加载任何符号。在第 5 步中,我将路径设置为 \\server\website\bin,这是 pdb 文件所在的位置。这是错的吗? 不,应该可以。通常,虽然我只是加载 PDB 的本地副本(您可以在本地 bin 文件夹中找到),但这样我就不必处理远程服务器上的权限问题等问题。 当我尝试手动加载 pdb 时,它说它与模块不匹配 尝试清理你的构建。然后在调试中进行新的编译。手动将部署的文件复制到远程服务器。如果您在部署后进行构建/编译,它会变得有点古怪。您基本上希望确保本地计算机和远程计算机上所有文件的版本相同。以上是关于远程调试不会因错误而中断的主要内容,如果未能解决你的问题,请参考以下文章