2012-06-08 43 views
3

.Net程序集具有用于调试的pdb文件。 PDB文件指向了其他细节中的确切源位置。如果我正在构建组件并在本地进行调试,这很好。当你需要在其他计算机上部署你的程序集时,问题就开始了。在这种情况下进行调试可以通过几种方式来完成; 1.您可以将源代码放置在共享位置,并在VS请求时指向该位置2.您可以使用源服务器并指向源代码管理并配置VS以使用该源代码设置用于调试的程序集

Java有源代码罐只需部署在实际的jar本身旁边并用于调试。这似乎是一个更简单和更简洁的解决方案。我们可以使用.Net(我知道sourcepack提供了类似的功能)吗?或者有更好/更简单的解决方案选项吗?

+0

通常你有一个版本控制系统,这使得你的代码可以从任何地方访问。 –

+0

你主要还是完全在你的局域网上进行调试? – wal

+0

@SoMoS - 我确实有一个源代码管理系统,我意识到我可以将PDB的源代码索引并链接到SCM系统。我实际上正在试图查看一个场景,我没有托管一个符号服务器等。我的PDB就在我的程序集旁边,我如何轻松地为其提供对源代码的访问。希望这是有道理的 – praskris

回答

1

PDB实际上不需要.NET Assemblies! PDB文件不指向确切的源位置,它只包含关联源文件的GUID!

点此了解有关how PDB and sources files are linked

有关更多信息,请参见John Robbins ....

一个.NET PDB只包含两条​​信息,源文件名和其生产线和局部变量名。所有其他信息已经存在于.NET元数据中,因此不需要在PDB文件中复制相同的信息。

+0

它的关键部分是它包含的“局部变量名称(和信息)”。 – leppie

+0

@mox你是否暗示你不需要pdb来有效地进行调试? – wal

+0

@wal - 我没有暗示任何东西。对于.Net程序集,按照John Robbins的描述使用PDB。 – mox