可惡的Bug(二)

2021-03-31 08:56:58 字數 1670 閱讀 2208

由於

「欄目結構管理

」部分需求的更改,今天不得不把以前的**再翻出來更改。改**總是

bug越改越多,新的功能是實現了,但是不穩定,總在某些情況下總是不行。

經過乙個小時的反覆實驗,發現問題出在

dataet

上。暈了,又是它

……

還是老辦法,單步執行,雖然這個方法很好用,基本

bug都可以被找出來,可全神貫注的盯著顯示器可不像盯著美女那麼爽,那些螞蟻啃出來的**畢竟不那麼具有吸引力

-,-

果然跑了三遍都沒看出什麼,只是證明了三次錯誤會在這種情況下發生。唉~看來今天不是

debug

的日子,於是趴在桌上睡著了

zzzzzz…..

一覺醒來發現已經是吃飯時間,

「不行啊,不能什麼事情都沒做就去吃飯,怎麼對得起白花花的公尺飯?

」我終於良心發現,重新開啟

visual studio

,一定要把

bug搞定。

睡了一覺果然效率高,一遍跑下來就發現了問題。

一張只有一行的表

:ttable.rows.count == 1

我刪了一行

:ttable.rows[0].delete();

行數顯示仍然是1:

ttable.rows.count == 1

莫非datarow

類有bug

?人總是這樣,出了問題總是先找別人的錯誤。不懂怎麼回事,我竟然想到了

bill gates

,在對他的崇敬與厭惡的感情上又多了乙份憤恨!

bug總是沒完沒了…

說歸說,罵歸罵,該做的事情總是得做,

debug

總是得繼續。

跑了幾遍下來,同樣的結果,但是我卻束手無策。想了一下,如果是

datarow.

del

ete()

函式出問題的話,我是不是應該看一下這個函式到底做了什麼?於是我展開

datarow

的所有屬性,單步執行看經過

delete

函式時哪些屬性被改變了。

果然不出我所料,很多屬性都被改變了,比如

datarow.itemarray

被清空了,也就是這行的資料已經不存在,但為什麼它不刪除行呢?到這裡我突然想到,

dataset

是支援回滾操作的,難道是為了實現這個才這麼做的嗎?

再往下看,有個屬性一下子吸引了我,

rowstate == deleted

。我一下子變得很興奮,把程式再跑一遍,仔細觀察了

rowstate

的變化,發現呼叫

datarow.

del

ete()

以後rowstate

從unchanged

變成了deleted。

真是黃天不負有心人,又搞定了乙個隱蔽的

bug。現在我可以用

ttable.rows[0].rowstate

來判斷而不用

ttable.rows.count了。

看來還是基礎不紮實,快餐吃出來的

.***

果然不靈的,很多底層的東西不了解,得弄本書好好看看。

debug

就和戀愛中的矛盾一樣,往往誰都沒有錯,錯在相互不了解。

可惡的控制項

safeengine.dll seh changepassword 更改儲存介質的密碼 seh clearsession 清除環境變數 seh decryptdata 用對稱演算法 sdbi 解密資料 seh decryptdataex 用對稱演算法解密應用資料 擴充套件 seh digest 摘要...

可惡的病毒

今天中毒了,一開始就是發現norton的防火牆的cpu佔用率居高不下,後來發現中了狂發郵件的病毒。it來整過之後,依然無效。檢查system32目錄,發現有幾個檔案是今天才建立的,比較可以。看了看程序,有個wmiconf.exe殺掉後就不狂發郵件了。但單純刪除這個檔案無效,過一段時間還是會出來。查遍...

可惡的木馬

今天發現 執行錯誤,原來的好多網頁中都有 這兩段 也就是所謂的掛馬。var cooka new string document.cookie var then new date var cookname 9b4a4c5ebf042c02 then.settime then.gettime 30 60...