最近碰到的幾個比較麻煩的bug

2021-09-30 07:53:02 字數 587 閱讀 7268

這幾個bug的最終解決方案都很簡單,**也很少;但是找到問題根源的時間卻不少。

乙個是指標在delete之後沒有設定成null;另乙個是manage c++中,沒有delete unmanaged resource。

第乙個bug是關於乙個包含很多不同型別element指標的list。建立list內容時,如果element指標ptr不是null,new乙個;在乙個迴圈結束之後,會清空list(delete所有element)並建立新的list的內容。問題是delete之後不設定為null,就不會呼叫到new,因為ptr還指向乙個被delete掉的記憶體。

之前有同事在處理同乙個問題,注意到了這個exception卻被誤導了:一直在找可以使用多個connection的方案,卻沒有考慮是誰在長時間占用這個連線。被表現所迷惑...

以上2個例子都可以做pattern以防止以後出現類似的問題。

2011/3/18 補充

最近碰到乙個c++ bug,就是有個queue會崩潰。

後來發現是c++的乙個structure,新增了乙個成員,size增加了;但是queue裡面有很多老的structure資料。一碰到這種old資料,新的code就蹦了。又見髒資料。。。

最近系統中遇到的幾個bug

今天細心的財務妹子對賬,發現代扣系統中的金額和系統應還的金額差1分錢,對,是1分錢,然後較真的財務妹子頓時不樂意了,逼著研發找原因。好吧,原因找到了,問題在於new double amout 100 intvalue 這個方法。amount 643.81元,那麼new double amout 10...

bug 記最近出現的非功能bug

1 android 4.1.2 的相容bug 一直以為android 測試 4 5 6就可以了,結果發現android4.1.2 和android4.3之間還是有差距的。處理辦法 驗證版本相容的時候,需要覆蓋所有系統版本 2 https和http 測試h5活動時,沒有考慮到能否支援https,上線後...

mysql碰到的幾個問題

create table user username varchar 16 not null primary key,passwd char 16 not null,admin enum no yes not null 此表正確。create table user username varchar ...