1

是否有任何MSVS插件(任何版本)來比較函數參數?調試工具來比較MSVS的參數?

所以 - 我必須調用一個很多參數的函數,這些參數是非POD類型,可以是多態對象...無論如何,傳統的意大利麪條代碼。重構是不可能的。

有時功能輸出正確,有時它不。我想比較產生正確結果的調用和其他調用之間的參數。我可以調試,我可以手工比較參數,但這不是我第一次遇到這個問題,我認爲如果我們有像Araxis Merge這樣的東西會更容易(可能在表單中的宏),可以讓你比較參數之間的調用。知道任何這樣的工具?

+0

爲什麼不在程序的多次運行過程中檢查參數調試器而不進行調試?你如何確定功能是否成功? – Mikhail 2012-03-08 15:34:09

+0

@Mikhail 1)你會怎麼做? 2)迴歸測試。 – 2012-03-08 16:02:22

+1

好像我不太瞭解您的工作流程。您可以在測試中添加一些日誌記錄或參數檢查嗎?還是在這個功能?您也可以使用Watch窗口檢查一些變量是否改變 - 它們會變成紅色。 – Mikhail 2012-03-08 16:28:12

回答

1

你使用什麼編程語言?如果您使用的是C#,您可以使用我創建的名爲BugAid的商業插件來找到save and later compare objects,並找出它們之間的差異,即使它們非常複雜和大(請參閱video),但您必須單獨保存每個參數;目前沒有辦法自動保存一個函數的所有參數。

如果您使用的是其他語言,我最好的提議是打開立即窗口並鍵入「?first_parameter_name」(輸入),「?second_parameter_name」(輸入)等等,然後複製粘貼輸出到像Araxis Merge這樣的diff工具。這將打印出變量及其成員的內容,從而節省了手動展開節點並從Watch窗口複製粘貼的需求。理論上你可以編寫一個VS-macro自動完成這個過程,通過using Visual Studio's Code Model找出當前方法的參數。

完全披露:正如我所提到的,我是上述工具的共同創建者。