專案 多程序SVG BUG排除

2022-09-09 07:54:06 字數 846 閱讀 7040

1、現在(20180910) 還是有bug存在(有一段時間沒弄它了),還是會 卡死。

隔了這麼一段時間,現在的思路應該不會 侷限在當時的情景裡面了,現在記錄下 排除bug的一些思路,供以後 做工作時使用:

1.1、log記錄 -- 改進:

(1)、使用檔案追加的方式一行一行的儲存log資訊 (使用 tstringlist時,它是整體儲存的,會有tstringlist儲存不了太多資訊的情況)

(2)、可以 將一整塊log資訊 分成 多個小塊,每塊儲存到乙個 檔案中

(3)、刪掉(去除) 指定行數(或者 第n行~第n+m行) 的log資訊

1.2、除錯 定位 思路

(1)、判斷 程式卡主時,是 死鎖 還是 **異常:

①、看有無異常資訊列印出來

②、殺 server/client程序,看留下的 是否活著。程式 卡主時(未殺掉時),也可以看看 server/client兩邊程序 是什麼狀態(活的 / 卡住 /死了)

(2)、懷疑的情況:

①、各個 server/client的標識,有 程序id 改為使用 執行緒id。

∵ qt的qwebview中每乙個網頁 都會有子執行緒,使用 程序id作為 客戶端/服務端的標識的話,可能(肯定會有)造成 資訊被錯誤的執行緒接收的情況--> 發現不是本執行緒的資訊不處理(這個也要做計數)--> 不會再有觸發 setevent的機會,於是程式 卡住,死鎖了...

②、檢查 各種計數:收 / 發 資訊;接收到的資訊 不是發給我的(執行緒標識不對 ; 是我自己發的 ; 不是我發的 但是是同乙個程序的 別的執行緒發的 等等情況);我的請求還未 回覆,對方的請求就來了(對方的請求來的計數);...

(3)2、

3、4、

5、

多程序 多程序queue

多程序 import multiprocessing import threading import time defthread run print threading.get ident defrun name time.sleep 2 print hello name t threading....

python多程序 python多程序

當有多個非相關任務需要處理時,並行能大大提高處理速度。這裡簡要介紹python的multiprocessing模組。簡單多程序編寫 當我們任務數量確定而且比較少的時候,可以手動為每個任務指定乙個程序來執行。import multiprocessing as mp def f a print a if...

python專案 多程序日誌分割

前文說到uwsgi日誌分割,那個是屬於uwsgi專案的執行日誌,我們如果需要列印一些資訊的話,如果全放在裡面由於太多且多執行緒多程序會導致日誌錯亂,所以我決定再增加乙個程式執行日誌模組,然後踩坑開始了。def setup log log name 建立logger物件。傳入logger名字 logg...