如何调试旧版本的软件?

时间:2009-07-10 19:06:46

标签: c# debugging version-control configuration-management

注意:目前使用Perforce作为CM工具。

我目前正在进行多个软件调试版本[仅调试文件(.pdb)和二进制文件(.dll和.exe)]。在每个版本中,我都会检查用于生成二进制文件的所有文件到我们的CM工具(基线)。然后我签出文件并继续进行更改。目前,如果其中一个版本存在问题,我们需要对其进行调试,我将不得不将代码恢复为使用的版本。

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

我知道使用VHDL,您可以使用测试点创建构建,并使用Xilinx工具调试任何内置版本的VHDL。我们可以在VS中使用类似的方法(可能使用.pdb文件和一些外部工具)吗?

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

3 个答案:

答案 0 :(得分:2)

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

我强烈推荐阅读它,因为这个人知道他的东西。

您最感兴趣的是Chapter 6: HistoryChapter 7: Branches

当我学习源代码控制和软件发布策略时,这些东西真的帮助了我。

答案 1 :(得分:1)

使用p4,你不必创建一个“回到过去”的分支。您所要做的就是同步到相应的标签或更改号码。例如,如果要重新创建ProductX的1.1版,并且p4中的最后一个更改是更改编号2000,则可以执行以下操作:

p4 sync //depot/ProductX/...@2000

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

p4 sync //depot/ProductX/...@Release1.1

或者如果你无法解决这些问题,你甚至可以尝试在特定日期进行同步。如:

p4 sync //depot/ProductX/...@2009/02/01:12:15:00

有关文件修订的第4页中的更多信息,请尝试以下操作:

p4 help revisions

答案 2 :(得分:0)

警告 - 对我和perforce来说已经有一段时间了:

对于perforce,我可能会继续“标记”每个版本(在perforce中,标记文件会创建标签)

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

标记非常简单,“p4 tag -l release2.0 // depot / bch /...”

从标签分支并不太难,你需要创建一个新的分支,然后从源标签集成:“p4 integrate -b [branchname] -s //depot/bch /...@release2.0 “

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