2009-12-01 107 views
1

我有一個相當大的C++項目,並且試圖使用調試器來逐步執行一些代碼。不幸的是,它有時會決定退出該模式,只需執行代碼而不必關注我按下F10並且不會在隨後的斷點處斷開的事實。我不知道什麼時候它會退出,但它似乎始終如此。Visual Studio 2008 C++調試器退出Vista下的單步模式

具體而言,我試圖看看如何計算某個顯示的某個元素。我在計算髮生的地方放置斷點。調試器會停止其中的一部分(沒有達到我需要的程度),然後忽略所有其他部分,最終的圖像出現在窗口中。有些時候,我一直在單步執行代碼,並且突然間它開始執行。

這是在64位Vista上運行的Visual Studio 2008 SP1中使用Visual C++。代碼以調試模式編譯,未啓用優化。我已經做了一個乾淨而完整的重建,但沒有解決這個問題。

有誰知道可能是什麼原因造成的?有什麼我可以做的嗎?

編輯:我沒有線程參與,我失去了休息時間,我剛剛安裝了this recommended fix,仍然有問題。

回答

2

我想我以前遇到過這個。

您可以下載修補程序,這將糾正這個問題和其他問題(點擊此處下載): http://code.msdn.microsoft.com/Project/ProjectDirectory.aspx?TagName=Visual%20Studio%202008,Hotfix

我裝了一堆,並沒有因爲出現了問題。安裝完成後,您可以在「關於」框中看到它們。

我不會花時間選出最重要的,因爲我在工作中......但是可能至少有3或4個你想要安裝。我認爲某些修補程序可能在某個時間被分組到某種SP1中(鏈接中也提供了該修補程序)。

編輯(回覆原帖子中的修改):我確定一個修復程序解決了類似於您所描述的問題,因爲安裝了一組修復程序解決了一羣同事正在製作的投訴(主要的投訴是在「它有時忽略了我的斷點並繼續跑過它們!」)。我建議你繼續安裝可能適用的東西。

0

你確定你正在調試你只是生成可執行文件?也許在調試模式下的設置是錯誤的,並且您正在調試之前編譯的一個...爲了確保您可以從Explorer中運行調試可執行文件並稍後連接Visual Studio。

如果這不是問題,你可以嘗試一些ASM:

__asm __emit 0xF1; 

這將執行後打破。 (更多關於http://ccollomb.free.fr/blog/?p=30

+0

我實際上不得不使用下面的語法:__asm {_emit 0xF1}; (花括號和_emit中只有一個下劃線) – Drealmer 2010-12-05 13:21:51

相關問題