全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1029
推到 Plurk!
推到 Facebook!

thread異常問題

缺席
adonis
高階會員


發表:139
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2015-04-15 10:36:34 IP:125.227.xxx.xxx 訂閱
最近碰到一個難解的問題,還請各位前輩指導,謝謝
主程式中跑了5個Thread, 分別執行個自的任務, 分別按需求讀寫資料庫
問題發生的時間長短不一定,可能一二天或數小時
發生的狀況: 某一個thread突然不工作了(因為查不到相關資料),由於原因不明確,只好在開發環境的除錯模式下追
但發現thread並沒有死,而是要去執行function or procedure時沒有執行就跳過,也就是單步追蹤至該function or procedure時,單步追蹤沒進去就直接往下一行程式走,正常時是會進入該function or procedure的..
每進入function or procedure時不是會做堆疊處理的嗎?執行完才返回相關位址..但不知為何連呼叫的function or procedure都沒進入..
不知前輩們有何建議...
------
我也在努力學習中,若有錯謬請見諒。
GrandRURU
站務副站長


發表:234
回覆:1651
積分:1742
註冊:2005-06-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2015-04-15 13:48:31 IP:59.120.xxx.xxx 未訂閱
在還沒找到更好的方式之前,建議把Thread code轉成一個exe。
看能否連續執行數天。
以上
rick060
高階會員


發表:2
回覆:112
積分:217
註冊:2009-11-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2015-04-22 19:01:33 IP:220.136.xxx.xxx 訂閱
不知程式規模,但類似的問題不外乎是 heap/stack 存取出現差錯,可能的情況有momery leak 造成覆寫到了heap,各thread stack 使用已超出限制等等....
檢查一下各 thread 是否確實符合 thread-safe,包括所用的 lib是否支援 thread-safe,若有使用 COM也要特別注意資源分配問題
----------------------------------------------------------------------------------
不過沒錯,還沒找到問題前先平行跑多個 process 是暫時的解法
adonis
高階會員


發表:139
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2015-04-23 14:45:24 IP:125.227.xxx.xxx 訂閱
目前加入TCriticalSection的機制..已執行數日,目前仍無發現異常,謝謝熱心留言的大大,3Q
------
我也在努力學習中,若有錯謬請見諒。
系統時間:2017-10-17 13:46:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!