2009-02-19 23 views
0

我正在查看將使用Visual Studio 2003/.NET 1.1開發的應用程序升級到Visual Studio 2008/.NET 2.0。比較.net 1.1和.net 2.0中同一應用程序的流程

現在我正在測試的東西,並發現我有一個可重複使用的情況,其中.NET 1.1版本做它應該做的事情,而.NET 2.0版本(相同的代碼)以無限遞歸結束遞歸是故意的,但它應該被限制爲2級..)

市場上有什麼比較兩個正在運行的應用程序的程序流,比如並行調試器或者是什麼,或者我不得不求助於單獨通過這兩個應用程序並嘗試手動查找流/狀態的差異?

我很確定它會是或者增加很多日誌代碼,但也許任何人都有一個很好的想法/提示來跟蹤它?

(僅供參考,在這一刻我最好的猜測是,它是與數據綁定,因爲有.NET 1.1和.NET 2.0數據綁定之間的其他[致命] ...差異)

+0

有兩件事情:(1)我不明白你的代碼是如何構造的,可以做你所描述的,除非有一個bug。你能描述一下你的代碼嗎?或者更好的是,展示一個代碼示例? (2)記住編程的第一條規則:它總是你的錯! (http://www.codinghorror.com/blog/archives/001079.html) – 2009-08-05 06:44:24

回答

0

如果您知道發生了遞歸的位置,那麼可能會找到一些放置良好的斷點,以及大量使用「Watch」窗口,以便您可以看到用於確定是否需要進行另一次遞歸訪問的值,並且您應該能夠找到他們分歧的地方。

另一種選擇是使用Diff工具(如Sourcegear's DiffMerge)來比較兩個版本的代碼庫之間所做的更改。我不知道框架的不同版本會以不同的方式處理相同的代碼,所以我敢打賭,區別在於您作爲升級到2.0的一部分而修改的代碼。

相關問題