2011-04-15 73 views
5

期間是窗口標題黑色和按鈕無框有時在調試時我的Win32應用程序窗口和對話框有時(很少)不會出現在所選擇的Windows方案,而是降低或破壞:爲什麼調試

enter image description here

窗口標題全是黑色(而不是藍色或銀色),沒有任何陰影。按鈕沒有任何按鈕形狀(屏幕截圖中的「Abbrechen」)。下半部分的黑條是一個窗口進度條。發生這種情況時並沒有顯示任何進展。

屏幕截圖(中心細節灰色)取自64位應用程序,在XP SP3 x64和10 GB計算機上的Visual Studio 2010下調試。這是足夠的RAM(一些GB)備用。

有沒有人有理由的線索?我從來沒有做非客戶區繪圖或其他東西。

編輯:症狀只發生在Visual Studio調試器已附加到該程序。但即使應用程序從調試器中分離出來,問題仍然存在。它不會在沒有調試的情況下啓動程序時發生。

+0

這是一個C#或C++應用程序嗎? – 2011-05-04 21:20:22

+0

這是一個Win32非託管C++應用程序。 – 2011-05-05 09:09:57

+0

在調試過程中,我從來沒有在MFC應用程序中看到類似這樣的黑色區域,特別是在非客戶區域(標題爲「waugs wird gelesen」的部分)。該部分通常由Windows本身渲染,而不是MFC或代碼。這就是爲什麼我想知道你是否在使用一些「花哨」的主題。 – 2011-05-05 14:10:28

回答

0

您是否爲Visual Studio 2010安裝了SP1?我還沒有遇到這個問題,但是知道SP1修復了VS2010中的很多問題。

我知道的另一件事是WinXP x64(它仍然是sp2而不是3 btw)並不總是很好玩。它不如x86版本那樣受到支持。 Win Vista和7 x64允許更平滑的操作。 (我自己有一些XP x64的不好的經歷)

1

至少有兩種可能性。

  1. 您使用一些其他的「主題引擎」比XP本地,例如Clearlooks等,這些發動機可能並不總是符合所有的事情想調試器,他們可能會離開自己的消息泵未泵送一些隱含地假定(在調試器中)點,然後繪圖停止。在Windows上使用某些虛擬桌面管理器時經常會發生同樣的事情,Windows窗口管理器太簡單了。

  2. 甚至32位窗口中的32位程序可能用完了句柄,這通常會導致窗口開始顯示「Fixedsys 「字體。您的應用程序僅顯示主題處理部分的症狀,這種類型再次表示可能性爲nr.1。

嘗試使用WinSpy和Process Explorer檢查相關窗口,不合理的分配資源量可能暗示發生了什麼樣的飢餓。

0

我們遇到這種麻煩。事實上,這是由於我們的antivurus(不知道,但我認爲它是目前的McAfee Viruscan)。

0

要實施的視覺樣式在你的應用程序請確保調用它,你運行你的窗口前,像這樣:

static void Main() 
{ 
    Application.EnableVisualStyles(); 
    Application.Run(new Form1()); 
} 

我已經使用使用第三方組件特別是當同樣的問題以前也發生過,他們自己的造型方法,如Infragistics或ComponentOne

0

我讀了關於這種症狀(前段時間),所以我再次搜索它,發現論壇。 WinXP-64上的某些NVIDIA驅動程序似乎存在問題。也有些人可以通過減少硬件加速來解決問題。

你可以自己閱讀以下論壇(5頁),並決定它是否適用於你的情況。

http://forums.nvidia.com/index.php?showtopic=67608