[發明專利]一種輕量級線程分析與運行可視化方法有效
| 申請號: | 201710293494.0 | 申請日: | 2017-04-28 |
| 公開(公告)號: | CN107045478B | 公開(公告)日: | 2019-12-13 |
| 發明(設計)人: | 林禹;林暢輝 | 申請(專利權)人: | 福建星瑞格軟件有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 35212 福州市鼓樓區京華專利事務所(普通合伙) | 代理人: | 林曉琴 |
| 地址: | 350000 福建省福州市鼓樓區*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 輕量級 線程 分析 運行 可視化 方法 | ||
1.一種輕量級線程分析與運行可視化方法,其特征在于:包括如下步驟:
步驟1、運行源程序,采集所述源程序的輕量級線程ID和運行時堆棧,所述輕量級線程ID采集的方式為:通過dl庫調用一外部程序,通過所述外部程序獲取所述源程序的函數地址,并根據函數地址獲得所述輕量級線程ID;
步驟2、根據所述輕量級線程ID對采集到的運行時堆棧進行分離,使得每一所述輕量級線程ID對應一個子運行時堆棧;
步驟3、統計每一所述子運行時堆棧中各函數的調用數據,所述調用數據包括歸屬模塊、調用次數、調用深度和調用跨度;所述歸屬模塊包括內存分配模塊、文件操作模塊和鎖模塊;
步驟4、根據所述歸屬模塊對每一所述子運行時堆棧中的基礎類函數進行識別并過濾;
步驟5、根據預先設定的調用次數值、調用深度值和調用跨度值對每所述子運行時堆棧做進一步過濾;
步驟6、對每一所述子運行時堆棧進行可視化展示,繪制每一線程對應的函數調用關系圖,供工程師分析查閱;
所述步驟6具體為:通過提取每一子運行時堆棧中函數對應的文件名、方法名、目錄、調用次數和函數調用順序,利用開源graphviz軟件繪制需要的函數調用分析圖。
2.根據權利要求1所述的一種輕量級線程分析與運行可視化方法,其特征在于:所述運行時堆棧是通過在編譯器添加標志,之后通過代理函數獲得的。
3.根據權利要求1所述的一種輕量級線程分析與運行可視化方法,其特征在于:所述函數調用分析圖中通過顏色對重要函數節點進行標識,所述重要函數節點為跨度大于一閾值的函數節點。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于福建星瑞格軟件有限公司,未經福建星瑞格軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710293494.0/1.html,轉載請聲明來源鉆瓜專利網。





