2009-07-10 110 views
1

注意:目前使用Perforce作为CM工具。如何调试旧版本的软件?

我目前正在做几个软件调试版[只有调试文件(.pdb)和二进制文件(.dll和.exe)]。在每次发布时,我都会检查用于生成二进制文件的所有文件到我们的CM工具中(基线)。然后我检查文件并继续进行更改。目前,如果我们需要对其中一个版本进行调试时遇到问题,则必须将代码恢复为所用版本。

我的问题是,我应该如何轻松调试旧版本?如果我从基线创建了一个分支,那么我可以轻松构建以前的版本进行调试,但是更进一步的情况如何呢?我不想每次做基线分支(很确定我不想这样做)。

我知道VHDL可以创建带有测试点的版本并使用Xilinx工具来调试任何内置版本的VHDL。有没有类似的方式,我们可以在VS中做到这一点(也许使用.pdb文件和一些外部工具)?

如何进行基线修订以便轻松调试旧版本?

+0

这就是为什么它可以帮助使用版本控制工具,其中分支是一种廉价和简单的操作。我使用SVN - 分支和副本基本上是懒惰的副本,所以如果没有改变,没有新的空间被占用的repro。对不起,我知道这不是一个答案... – eeeeaaii 2009-07-10 19:11:07

回答

2

Eric Sinc有一个幻想Source Control HOWTO涵盖了这个话题(以及更多)。

我强烈建议阅读它,因为这家伙知道他的东西。

你会对Chapter 6: HistoryChapter 7: Branches最感兴趣。

当我学习源代码管理和软件发布策略时,这些东西真的帮了我很大的忙。

0

警告 - 已经有一段时间,我和Perforce:

对于Perforce的,我可能会继续前进,“标签”每个版本(Perforce中,标记文件创建一个标签)

然后你可以签出一个标签来调试它。 如果您需要进行更改并推出针对该旧版本的“修补程序”,则可以使用该标记而不是来自HEAD创建分支。

标记是非常简单的,“P4标签-l release2.0 //库/ BCH/...”

从标签分支是不是太硬,你需要创建一个新的分支,然后整合来自源标签:“p4 integrate -b [branchname] -s //depot/bch/[email protected]

请注意,您也可以标记代码的以前(历史)版本,或者也从以前的提交创建分支。

1

随着p4你不必创建一个分支去“回到时间”。你所要做的就是同步到适当的标签或更改号码。举例来说,如果你要了ProductX重建1.1版,并在P4的最后一个变化是改变号码2000,你可以做到以下几点:

p4 sync //depot/ProductX/[email protected] 

,或者如果使用了标签,如“Release1.1 “你可以这样做:

p4 sync //depot/ProductX/[email protected] 

,或者如果你想不出那些出来,你甚至可以尝试在某个日期同步。如:

p4 sync //depot/ProductX/[email protected]/02/01:12:15:00 

对于P4有关文件修订的更多信息,试试这个:

p4 help revisions