欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 疑神疑鬼找bug [打印本頁]

作者: 51hei不    時間: 2016-6-19 02:12
標題: 疑神疑鬼找bug
昨晚遇到神奇問題,網(wǎng)關(guān)做壓力測試,在CPU很高的時候會崩潰,看堆棧,都是崩潰在_heap_alloc這個函數(shù)里面,百思不得其解,以為是內(nèi)存碎片導(dǎo)致的,寫了一段檢測代碼,可的捕獲到內(nèi)存碎片嚴重,new 幾個字節(jié)都會失敗,特別是在cpu高的時候,以為是我大量使用std::string 和map之類容器問題,以為找到了原因,然后就是各種折騰,折騰了一晚上沒解決。今天早上睡了個飽覺,過來再想出了一下,感覺不應(yīng)該是內(nèi)存碎片的問題。如果是內(nèi)存碎片,不應(yīng)該在堆分配時拋訪問越界異常,然后使用分解方法,把一個個模塊拆下來單獨測,搞了一上午,終于找到原因了,原來在寫日志模塊里面,有一個多線程寫環(huán)型隊列加鎖有問題,沒鎖成。就這樣導(dǎo)致了多線程同時操作queue,導(dǎo)致堆被破壞,在_heap_alloc時,可有是內(nèi)部進行了資源回收整理,然后就崩潰了。改了二行代碼,把bug修復(fù)了,中午吃飯時就讓壓力在跑,跑了幾百萬,啥事都沒了。

后來總結(jié)了一下,這種神奇問題基本都是自已的事情,想在操作系統(tǒng)上找理由是不行的。








歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1