主題:顯示屏運(yùn)行一段時(shí)間不刷新了 共有49050人關(guān)注過本帖 |
---|
shtupc |
1樓 信息 | 搜索 | 郵箱 |
加好友 發(fā)短信 |
顯示屏運(yùn)行一段時(shí)間不刷新了 Post By:2013-2-11 17:05:00 [只看該作者]
我用Em9170開發(fā),顯示屏是800*480,運(yùn)行我的程序正常,但連續(xù)運(yùn)行10幾個(gè)小時(shí)候,屏幕就不動(dòng)了,無論是觸摸屏還是用鼠標(biāo)操作,就跟死機(jī)一樣,但實(shí)際程序沒有死,對(duì)外的通訊(包括串口和網(wǎng)絡(luò))都正常,這可能是什么原因,怎么解決。
|
單帖管理 | 引用 | 回復(fù) |
x10 |
2樓 |
Post By:2013-2-13 19:10:00 [只看該作者]
新年好! 可以通過遠(yuǎn)程工具查看你的進(jìn)程及包括的線程,估計(jì)是你的顯示線程被掛起了。負(fù)責(zé)喂狗的監(jiān)視顯示應(yīng)與各個(gè)線程有數(shù)據(jù)交換,確認(rèn)是否正常工作,這樣異常時(shí)可導(dǎo)致系統(tǒng)重啟,從而恢復(fù)系統(tǒng)的所有功能。
|
|
單帖管理 | 引用 | 回復(fù) |
客人 |
3樓 |
Post By:2013-2-15 7:30:00 [只看該作者]
謝謝了! 不是特別明白,我用的是VS2005中的VB.net開發(fā),就是使用自帶的顯示控件(如文本框,列表框等),需要哪種遠(yuǎn)程工具可以查看進(jìn)程?看到運(yùn)行的線程后如何判斷是顯示進(jìn)程,只看到進(jìn)程能判斷是否有數(shù)據(jù)交換么?實(shí)在搞不清楚,麻煩能說的詳細(xì)些么? |
|
單帖管理 | 引用 | 回復(fù) |
客人 |
4樓 |
Post By:2013-2-15 7:37:00 [只看該作者]
遠(yuǎn)程工具找到了,VS2005自帶就有,是看到了一大堆進(jìn)程和線程,然后就不知道怎么辦了 |
|
單帖管理 | 引用 | 回復(fù) |
yy |
5樓 信息 | 搜索 | 郵箱 |
加好友 發(fā)短信 |
Post By:2013-2-16 9:13:00 [只看該作者]
屏幕不動(dòng)是整個(gè)系統(tǒng)都不動(dòng)了,還是只是你的程序界面不動(dòng)了,而你的程序又恰好是全屏狀態(tài)。
因?yàn)槟愕钠渌δ苁钦5模也聹y是后一種情況。程序界面卡死,最大的可能是在某個(gè)TIMER里面死循環(huán)了,或者某個(gè)函數(shù)處于阻塞狀態(tài),然后你的串口和網(wǎng)絡(luò)的工作是在另外的線程里面完成的,所以主線程卡住了并不影響支線程的運(yùn)行。 你先用遠(yuǎn)程工具的進(jìn)程查看器,找到你的程序名字的exe,中止它,看系統(tǒng)是否還是正常的。如果系統(tǒng)正常的,就只能慢慢檢查程序代碼了,看是不是有用到timer,里面哪個(gè)地方是不是可能導(dǎo)致卡死。
|
單帖管理 | 引用 | 回復(fù) |
客人 |
6樓 |
Post By:2013-2-16 9:40:00 [只看該作者]
感謝! 我的程序只是界面不動(dòng),系統(tǒng)本身是正常的,如開始按鈕還是可以正常點(diǎn)擊。 我的程序是用的Timer,完成串口通訊和網(wǎng)絡(luò)通訊功能,為了系統(tǒng)調(diào)試方便,沒有使用多線程,我現(xiàn)在比較奇怪的是,程序一開始運(yùn)行是正常的,連續(xù)運(yùn)行幾個(gè)小時(shí)后才會(huì)出現(xiàn)這種情況,查了很多資料,有人提出是內(nèi)存使用后沒有正確釋放,導(dǎo)致這種現(xiàn)象出現(xiàn),但程序中就是常規(guī)的變量定義,沒有什么特殊的分配內(nèi)存的命令(使用VB.Net),郁悶死了。 |
|
單帖管理 | 引用 | 回復(fù) |
yy |
7樓 信息 | 搜索 | 郵箱 |
加好友 發(fā)短信 |
Post By:2013-2-16 9:55:00 [只看該作者]
這種情況可能性很多,也有可能是內(nèi)存不夠,然后申請空間失敗,然后你在TIMER里面做的死循環(huán)申請空間。
總的來說絕大部分可能就是你的timer卡死了,你可以發(fā)下你TIMER的代碼給我看看。
|
單帖管理 | 引用 | 回復(fù) |
shtupc |
8樓 信息 | 搜索 | 郵箱 |
加好友 發(fā)短信 |
Post By:2013-2-18 16:23:00 [只看該作者]
仔細(xì)檢查了一下,貌似是文件操作的問題,在timer里面有比較頻繁的文件寫操作,調(diào)整了一下,好像可以了,再連續(xù)運(yùn)行一段時(shí)間看看。 感謝了! |
單帖管理 | 引用 | 回復(fù) |