使用Visual Studio调试源索引软件是一件痛苦的事

时间:2010-10-27 05:52:05

标签: visual-studio debugging

我负责一些内部工具,我想在客户端计算机上尽可能简单地调试它们。我们过去使用完整的源代码和调试信息,并将它们构建在与典型客户端安装路径完全相同的位置。这使调试非常容易。

我们现在已经开始使用Windows Installer来部署我们的软件,并且我们用符号提供调试信息和源索引pdbs。

这现在使调试成为一个正确的痛苦,对于我想要调试的每个客户端,我必须在Visual Studio中更改几个选项以启用源索引并将文件添加到Visual Studio目录中以阻止它抱怨运行源代码控制命令。我也无法轻松搜索源代码,因为文件只是按需提取。

我们有更好的方法吗?我曾尝试在网络共享上托管源代码的存档,并使用符号链接在构建时将网络共享与本地硬盘驱动器进行别名,但这需要UNC路径,这是VS2008清单工具无法应对的。

我们还使用了一个未记录的链接器选项(/ sourcemap),它允许您将所有源路径重定向到任意位置,但这对.Net应用程序不起作用(因为该选项可用于link.exe)< / p>

即使我们提供了安装的源代码,PDB中的路径仍然是错误的。

有没有办法修补PDB(Microsoft支持或不支持)将路径重定向到其他地方?

1 个答案:

答案 0 :(得分:-1)

我无法帮助你直接回答,但也许我可以用元回答激励你。

在生产环境中进行调试从根本上说是错误的。其他人已经尝试过了(Netscape浮现在脑海中)并且悲惨地失败了。对于类似工具的东西,通过可靠的单元测试确保正常运行,以及为您的发布进行自动化测试更为恰当。您可以设置测试以使用不同质量的输入(从完美教科书到中等到差到可怕)和数量(即测试限制)。测试中有很多books,特别是单元测试。

我明白,做出类似这样的工作是很困难的(我自己深入研究它),但它是最安全的,如果不是唯一的理智的出路。