日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

ASan(Linux),gcc4.8以上版本自带的内存检查工具

發布時間:2023/11/27 生活经验 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASan(Linux),gcc4.8以上版本自带的内存检查工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自:http://shafeng.github.io/2017/05/10/asan/

?

最近線上的程序總是莫名其妙崩潰,因為我們的項目使用了分布負載的機制,對于玩家的影響其實很小,但是我肯定是忍不了的…程序崩潰的core文件里面完全找不到問題所在,初步分析應該是野指針導致,仔細分析程序之后并沒有發現內存釋放后沒有置null的情況,很可能是多線程導致的,然而代碼量太大,大海撈針實在是無法找到問題所在,所以我找到了asan,項目之前一直用gcc4.4編譯,完全不知道asan的存在,asan是gcc4.8以上gcc自帶的內存檢測庫,開發自google,在gcc4.8版本以上編譯鏈接的時候加入指定的參數即可,非常的方便好用,而且對程序的性能影響并不大,如果你的程序平時耗費的cpu和內存資源不超過50%,那么完全可以把加入asan的程序放到線上去跑.

首先在編譯機上升級gcc,我直接升級到了最新版本gcc6.3版本(寫這篇記錄的時候最新版已經到gcc7.1了),升級后系統庫中會新加入libasan,我們使用asan的功能都是來自于這里.
然后對代碼進行編譯和鏈接,編譯時使用 -g -O2 -fsanitize=address -fno-omit-frame-pointer .-fsanitize=address命令就是將asan編譯進來,這樣編譯的.o文件在運行時stack上申請的內存都會被asan接管,如果出問題asan會第一時間輸出報告,如內存越界和各種非法訪問. -fno-omit-frame-pointer可以防止一些優化導致指針喪失可讀性. 鏈接時使用-fsanitize=address -fno-omit-frame-pointer選項可以讓程序在heap上申請的內存被asan接管,這樣asan會監控new和delete來輸出內存泄漏的報告.

大功告成,使用asan編譯和鏈接的程序生成好之后放到了線上環境運營,很快出現了一次宕機,asan會直接把自己的輸出當做error輸出,你可以查看到當前導致宕機的內存位置和變量名,文件行數,變量來源,線程信息等等非常全面的信息,得到這些信息后很快就分析出原來崩潰來自一個多線程共享的模塊,而當前模塊在多線程競爭資源的地方沒有加鎖,導致同一塊內存被寫壞. 問題完美解決,程序再也不會宕機了.

總結一下,asan在檢測程序內存方面的功能實在是強大,之前也用過valgrind來檢查內存泄漏,但是valgrind對性能的影響實在是太大,完全不能放到線上環境這樣真實的環境下測試,而且asan給出的問題報告相當詳細,基本上看一次錯誤報告就能解決當前導致宕機的問題,而core文件的信息由于優化和其他程序上下文的差異會導致提供的信息基本上沒什么作用.宕機十次,十個core文件也無法準確定位某些野指針錯誤的問題.對于asan,只有一個詞能表達我的心情,那就是相見恨晚…asan你值得擁有,誰用誰知道.

總結

以上是生活随笔為你收集整理的ASan(Linux),gcc4.8以上版本自带的内存检查工具的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一级免费黄色片 | 久久一区二区三区四区 | 亚洲国产成人精品女人 | 久久久精品在线 | 女人被灌满精子 | 天堂岛av | 国产这里有精品 | 午夜成年视频 | 可以看的黄色网 | av午夜在线 | 污污网址在线观看 | 日日夜夜网站 | 国产伦精品一区二区三区视频我 | 亚洲视频天天射 | 女人扒开腿让男人桶爽 | porn国产 | 欧美一区二区最爽乱淫视频免费看 | 日本黄大片在线观看 | 国产欧美精品一区二区在线播放 | 久久r| 波多野结衣视频免费在线观看 | 日日夜夜免费视频 | 俄罗斯美女一级爱片 | 91视频在线 | www国产一区 | 韩国三级视频在线观看 | 午夜视频免费看 | 起碰在线 | 国产成人精品一区二三区 | 爱情岛亚洲品质自拍极速福利网站 | 黄色片a级片 | 欧美极品少妇xxxxⅹ猛交 | 爱欲av| 亚洲精品一区二区三区中文字幕 | 天堂国产一区二区三区 | www在线视频 | 熟女一区二区三区视频 | 国产精品一区二区无线 | 亚洲色精品三区二区一区 | 中文字幕av一区二区 | 欧美色综合天天久久综合精品 | 深夜的私人秘书 | 牛牛av | 日本午夜视频 | 欧美日韩h | 国产一级片久久 | 国产在视频线精品视频 | 日韩草比| 国产你懂 | 亚欧美在线 | 中文字幕女同 | 黄色av网站在线播放 | 久久久精品视频在线观看 | 精品三区 | 少女国产免费观看 | av黄色网址 | 国产伦理av| 日韩伦理在线视频 | 中国黄色录像 | 午夜小福利 | 性爱免费在线视频 | 日本不卡网站 | 老司机精品导航 | 欧美黄色片免费看 | 美女三级视频 | 国产亚洲欧洲 | 视频在线观看电影完整版高清免费 | 狠狠ri | 日韩网站免费 | 欧美日韩精品电影 | 黄色小说在线观看视频 | 欧美日本一区二区三区 | 亚洲av人无码激艳猛片服务器 | 久久精品99国产国产精 | 日本高清黄色电影 | 朴麦妮原版视频高清资源 | 成人免费观看网址 | 日韩欧美四区 | 中文字幕视频在线 | 亚洲欧美国产精品久久久久久久 | 精品不卡一区二区三区 | 国产综合久久久 | 日日插夜夜爽 | 娇小tube性极品娇小 | 热热热色 | 久久精品欧美视频 | 国产青青操 | 亚洲涩涩涩 | 欧美日韩一区二区在线观看 | www.九九九 | 日韩片在线观看 | 草草影院一区二区三区 | 亚洲不卡中文字幕 | 日日摸夜夜添狠狠添久久精品成人 | 美女毛片| 久久久久亚洲av片无码下载蜜桃 | 老司机亚洲精品 | 色欲AV无码精品一区二区久久 | 六月丁香在线视频 |