記錄自己一次艱難得DEBUG過程

2021-10-08 16:35:14 字數 633 閱讀 5475

debug問題:

64位沒有錯誤,32位有錯誤

32位debug模式沒有錯誤,release模式有錯誤

release模式下第一次執行沒有錯誤,第二次執行有錯誤

整了三天徹底給我整蒙了

第乙個錯誤是因為32位記憶體不足無法分配的問題,我首先加了try塊捕捉記憶體不足的情況,並且反饋給dll的呼叫者

根據需求這不是長遠之計,因此我將傳輸dll的資料剛開始就進行簡化防止後面記憶體的不斷增加,果然記憶體由原來的2g減少到了1g左右(手動狗頭)

第二個錯誤是記憶體沒問題了,但是總是出現第一次沒問題,第二次的錯誤

首先我嘗試更改專案的配置屬性,對比原始版本來修改,但是錯誤依舊

然後我嘗試對比32位和64位的專案配置屬性,發現根本沒有修改的意義

後來我發現release模式也可以設定斷點除錯,可以除錯的效果總是很詭異(猜測和編譯器優化有關),無法定位到錯誤

再後來我對比之前版本和現在的版本,發現我加了個運算子的過載。。。於是錯誤就在這裡,可能是**不符合編譯器的標準,導致了release模式下出現錯誤,改用最原始的方式來替代運算子過載,問題得到解決。

總結調了三天的程式:不能鑽牛角尖,做之前想好再去做否則只會浪費時間,最關鍵是說到能做到。

記錄一次自己爬蟲的案例

簡單來講,爬蟲就是乙個探測機器,它的基本操作就是模擬人的行為去各個 溜達,點點按鈕,查查資料,或者把看到的資訊揹回來。就像乙隻蟲子在一幢樓裡不知疲倦地爬來爬去。你可以簡單地想象 每個爬蟲都是你的 分身 就像孫悟空拔了一撮汗毛,吹出一堆猴子一樣。博主之前先提前安裝的anaconda3 pip inst...

記一次艱難的提權

記一次艱難的提權 資料報經過路由器就被拋棄了.初步判斷是路由器設定了acl表。掃瞄了一下目標伺服器,只開了80埠,伺服器作業系統是windows 2003.埠復用在2003上不管用。看來只有把iis停了再把45678埠轉到80埠上了。在c windows 目錄中寫了個1.bat 內容是copy c ...

一次Debug過程的思考

前一段時間,部門接入了新業務,由於業務量小,架構非常簡單,採用了最簡單的lnmp架構,整個專案是交給乙個剛畢業的rd負責的,這是背景。上線前半天,服務平穩執行。下午的時候,開始收到大量報警 no host could be connected in the cluster。第一反應 mysql伺服器...