2010-02-10 73 views
0

我正在製作使用雙緩衝的全屏應用程序。問題是:當我調試它時,調試器暫停進程(斷點或拋出的異常),二級緩衝區可能卡在屏幕上。在這種情況下,我只能看到當前幀和鼠標指針,我可以與IDE的UI進行交互,但我沒有看到它(因爲它在主緩衝區上繪製,不可見,我只能猜測按鈕在哪裏) 。我認爲這種行爲是圖形驅動程序和操作系統的依賴,但可能我不是唯一有這個問題的人(在Ubuntu上,但在Windows中沒有類似的問題)。如何在調試時防止屏幕凍結時出現全屏雙緩衝應用程序?

有沒有人有想法如何將主緩衝區放在前面?

(PS:隨時糾正我的拼寫錯誤,並提供更好的標題,如果你有更好的想法。)

編輯:好吧,我知道我可以買一個新的監視器或運行在窗口模式下的應用程序。但我的問題是關於全屏模式。而且我忘了提及如果我無法重新啓動我的程序,並且第二個緩衝區卡住了唯一避免這種情況的方法就是重置。

+0

你實際上沒有提到你正在使用的操作系統和圖形驅動程序/硬件,這可能會有所幫助。 – 2010-02-10 21:01:05

+0

操作系統是Windows和我的圖形硬件是ATI Radeon(我不在家,所以我現在不能提供完整的型號名稱) – Calmarius 2010-02-11 11:46:08

+0

無論如何。在任何類型的硬件和操作系統上,問題都是一樣的。 – Calmarius 2011-03-05 12:26:25

回答

1

在過去的日子裏,推薦的解決方案是雙屏調試。鑑於硬件解決方案相對便宜,它可能仍然是更好的方法。至少,您可以同時看到程序的輸出和調試器。

+0

'便宜'是相對的。 :)我是一個業餘的程序員,只有一臺舊的家用電腦,並且只有一臺舊的CRT(最近用LCD替代)。 我的桌子上沒有另一個顯示器的空間。 :) 我正在尋找的解決方案是一個軟件解決方案,所以我如何強制交換緩衝區?我會爲此編寫一個小程序,我只需將該命令綁定到一個熱鍵。所以,如果我遇到麻煩,我只需點擊熱鍵,它就會爲我緩衝緩衝區。 – Calmarius 2011-03-05 12:29:04