0
情景是:存在深層調用層次結構,每個調用都將返回HRESULT。如果發生錯誤,函數將返回S_FALSE或S_ERROR,如果調用返回錯誤,調用者將直接返回錯誤代碼。通常所有的函數都會返回S_OK。 因此,在調試問題時,我需要做很多試驗,看看哪個調用返回了!S_OK,然後再深入下去,直到找到導致錯誤的最終位置。它能夠在返回值上設置「數據斷點」
我想知道是不是能夠創造上返回值「數據斷點」(EAX?)所以,當返回值發生變化或返回值等於某個值,則可以停止......
因爲有例如,深呼叫層次結構,例如 ret = some_other_function(); 如果some_other_function返回錯誤,我不得不重複這個過程。如果有一個處理樹狀數據結構的遞歸函數,我不得不重複很多次......所以我問有沒有什麼像返回值的數據斷點:) – superb 2010-07-21 15:03:11
我不明白你爲什麼必須如果使用遞歸,則多次重複該過程。無論您在遞歸下降時有多深,條件滿足時條件斷點都會觸發。無論如何,如果你不想改變你的代碼,我在我的編輯中發佈了一個相關的鏈接,這可能會有所幫助。祝你好運 :)。 – dcp 2010-07-21 15:07:30
問題是,在方法中它不會在一個地方返回,許多代碼似乎是這樣的: hr = some_call(...); if(FAILED(hr))return hr; 所以有條件的斷點將無法工作.... 我會檢查您發佈的鏈接.. – superb 2010-07-21 15:17:39