2014-02-19 152 views
0

我想用VS2013 express來調試一個相當複雜的程序。我希望它能在每行代碼中暫停。雖然我可以在每一行代碼上放置一個斷點,但這是單調而低效的。有沒有辦法通過步驟來調試應用程序以阻止我找到問題?我正在嘗試調試一個幾乎沒有空格的1000行OpenCV程序,這是我一次性寫入而不需要調試一次!在Visual Studio 2013 express中調試

+0

這完全是我在找的! )。謝謝!現在,我將能夠找到錯誤。顯然,似乎findContours正在觸發一個斷點並導致一個損壞的堆!如果有人知道該怎麼做,這將有所幫助! – yash101

回答

3

在代碼的第一行設置斷點,運行,直到遇到斷點,然後通過各行的單步與任一F10(步過)或F11(步入)。

將代碼縮小到特定區域通常會更有用,方法是將多個斷點進一步分開,然後檢查每個斷點處的變量狀態(使用觀察點更容易)來嘗試並隔離問題。一旦你能夠將範圍縮小到一個特定的功能或方法,你可以設置一個斷點,並通過代碼更慢地確定哪些實際上不能正常工作。

+0

這就回答了!我很愚蠢,寫了整個程序,並沒有一次性測試,所以當我有100個崩潰的站點時,我不得不做一個徹底的調試:(:D:P – yash101

+0

@ yash101 - 我會重新開始並實現每個函數根據需要複製原始代碼 - 然後你有一個崩潰的網站在 – Mark

+0

我得到的程序工作。我花了一個小時,並完全重寫代碼,這次使用常識的力量。現在,我的程序的工作,比我預期的要好,代碼將在明年的GitHub上提供(在這個FRC的季節之後),供大家檢查一下! – yash101

相關問題