【发布时间】:2012-06-08 21:17:29
【问题描述】:
.Net 程序集具有用于调试的 pdb 文件。 PDB 文件指向确切的源位置以及其他详细信息。如果我正在构建程序集并在本地调试它,这很好。当您需要在其他计算机上部署程序集时,问题就开始了。在这种情况下进行调试可以通过多种方式完成; 1.您可以将源放在共享位置并在VS要求时指向该位置2.您可以使用Source服务器并指向源代码管理并配置VS以使用它
Java 有源 jar,可以与实际 jar 本身一起部署并使用它进行调试。这似乎是一个更简单、更整洁的解决方案。我们可以用 .Net 做到这一点吗(我知道 sourcepack 提供了类似的功能)?或者有更好/更简单的解决方案吗?
【问题讨论】:
-
通常你有一个版本控制系统,这使得你的代码可以从任何地方访问。
-
你是主要还是完全在你的局域网上调试?
-
@SoMoS - 我确实有一个源代码控制系统,我确实意识到我可以对 PDB 进行源索引,并将链接到 SCM 系统。我实际上是在尝试查看不需要托管符号服务器等的场景。我的程序集旁边有 PDB,我怎样才能轻松地为其提供对源的访问。希望这是有道理的
-
@wal - 不确定我是否正确理解您的问题。我说的是调试任何程序集。您是否建议我将代码放在共享的公共驱动器中并从该位置构建程序集?这样就可以查到源头了?我们确实有这个系统,但它不是很灵活,而且从共享驱动器构建的速度较慢。
-
@praskris 您不需要从该位置构建它。您可以从任何位置构建它。我建议将源代码和 pdb 放在一个中心位置(如果您没有使用 dll 部署 pdb),然后当您需要调试时,您可以指示 VS 从共享位置加载 pdb 并将 VS 指向源代码(VS会在pdb文件指定的嵌入位置找不到源时提示)
标签: .net debugging .net-assembly visual-studio-debugging pdb