偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

一種窮人式的內(nèi)存泄露檢測方式

安全 應(yīng)用安全
我一直在 Topomel Box 中使用一個外掛式的第三方庫來檢測內(nèi)存泄露,通過今天的文章,我明白了:我們可以什么也不做,就等它泄露,直至到達(dá)泄露原因是如此明顯的時間點。

對于檢測程序代碼中的資源泄露問題,市面上已經(jīng)有很多工具了,但是今天我再來介紹一種新的方式,這種方式不需要安裝任何工具或者特定的編譯器開關(guān),也不需要第三方庫。
那就是:一直保持程序運行,直到泄露的原因自動水落石出。這是什么意思?

每日自動壓力測試通常是工程開發(fā)中的一個常規(guī)部分。有一些軟件開發(fā)團(tuán)隊使用屏幕保護(hù)程序作為觸發(fā)器,其他團(tuán)隊使用自定義程序,還有一些團(tuán)隊需要手動啟動壓力測試,但無論如何,在你下班回到家后,你的計算機連接到測試服務(wù)器并接收一組整夜運行的測試。

這些壓力測試經(jīng)常出現(xiàn)的一件事是這樣或那樣的內(nèi)存泄漏,由壓力測試團(tuán)隊識別,因為程序的資源使用率異常高。但是如何調(diào)試這些故障呢?這些機器沒有使用泄漏檢測工具運行特殊的檢測版本,因此你無法使用它。

相反,你可以一種新的檢測思路:目標(biāo)運行平臺有著豐富的資源環(huán)境(target-rich environment)。

假設(shè)你的程序正在泄漏內(nèi)存。連續(xù)大量使用十五小時后,程序開始出現(xiàn)內(nèi)存不足故障。你顯然在泄露一些東西,但是泄漏的具體是什么呢?

想想看:如果你泄露了一些東西,那么就會有很多。而你沒有泄漏的東西數(shù)量很少。因此,如果你隨機抓取進(jìn)程快照,它很可能是一個泄漏的物體!用數(shù)學(xué)術(shù)語來說,假設(shè)程序的正常內(nèi)存使用量為 15 MB,但由于某種原因,你已經(jīng)用完了 1693 MB 的動態(tài)分配內(nèi)存。由于其中只有 15 兆字節(jié)是正常的內(nèi)存使用量,因此其他 1678 兆字節(jié)必須是泄漏的數(shù)據(jù)。如果從堆中轉(zhuǎn)儲隨機地址,則找到泄漏對象的可能性大于 99%。

因此,隨機抓取十幾個地址并轉(zhuǎn)儲它們。你很可能會一遍又一遍地看到相同的數(shù)據(jù)模式。那是程序的泄漏點。如果它是一個具有虛擬方法的C++對象,轉(zhuǎn)儲 vtable 將快速識別它是什么類型的對象。如果是 POD(Plain Old Data) 類型,通常可以通過查找字符串緩沖區(qū)或指向其他數(shù)據(jù)的指針來識別它是什么。

最終結(jié)果可能會有所不同,但我發(fā)現(xiàn)這是一種非常成功的技術(shù),可以把它想象成一種精神力量。

總結(jié)

我一直在 Topomel Box 中使用一個外掛式的第三方庫來檢測內(nèi)存泄露,通過今天的文章,我明白了:我們可以什么也不做,就等它泄露,直至到達(dá)泄露原因是如此明顯的時間點。

正所謂:無為而無不為。

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2016-05-25 10:03:51

JavaScript內(nèi)存泄露

2018-12-14 14:30:12

安全檢測布式系測試

2013-12-19 09:23:15

2021-08-06 16:57:39

存儲Redis數(shù)據(jù)類型

2017-12-11 10:40:14

2019-10-28 11:30:43

架構(gòu)數(shù)據(jù)結(jié)構(gòu)布隆過濾器

2018-05-07 09:48:49

AccordionHBase內(nèi)存

2023-01-01 14:04:51

字節(jié)碼接口系統(tǒng)

2022-06-06 15:44:24

大數(shù)據(jù)數(shù)據(jù)分析思維模式

2010-09-25 11:32:24

Java內(nèi)存泄漏

2022-04-06 12:00:46

HEAT安全架構(gòu)新威脅

2020-12-23 10:10:23

Pythonweb代碼

2022-06-22 09:44:41

Python文件代碼

2022-07-07 10:33:27

Python姿勢代碼

2017-01-06 09:25:47

2012-02-01 10:18:23

編程

2020-12-16 10:12:52

大數(shù)據(jù)小數(shù)據(jù)人工智能

2022-07-28 11:29:23

數(shù)據(jù)安全數(shù)據(jù)令牌化

2023-03-07 15:08:57

2020-12-09 10:15:34

Pythonweb代碼
點贊
收藏

51CTO技術(shù)棧公眾號