[發明專利]一種利用線程私有數據獲取線程名字的調試方法及系統有效
| 申請號: | 201710839620.8 | 申請日: | 2017-09-18 |
| 公開(公告)號: | CN107656868B | 公開(公告)日: | 2021-06-08 |
| 發明(設計)人: | 方迪 | 申請(專利權)人: | 北京遠橋科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F11/07 |
| 代理公司: | 蕪湖宸澤知識產權代理事務所(普通合伙) 34208 | 代理人: | 李俊建 |
| 地址: | 100020 北京市朝陽區利*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 利用 線程 私有 數據 獲取 名字 調試 方法 系統 | ||
本發明提供了一種利用線程私有數據獲取線程名字的調試方法及系統,屬于嵌入式系統技術領域。它解決了Linux系統程序員不能迅速直接定位故障線程等技術問題。本系統包括存儲模塊和讀取模塊;本調試方法包括以下步驟:S1、存儲數據:線程啟動后,創建該線程的私有數據,并將該線程識別碼及對應的名字設置到一個共享數據區中;S2、查詢名稱:所有線程啟動后,從共享數據區打印線程的全局變量到日志中;當程序崩潰時,通過查詢崩潰信息中的線程識別碼和打印的日志,找到對應的名字并顯示出來。本發明利用線程的私有數據記錄線程的名字很好的解決了線程識別碼和線程名字精確對應的問題。
技術領域
本發明屬于嵌入式系統技術領域,涉及一種利用線程私有數據獲取線程名字的調試方法及系統。
背景技術
多線程是指從軟件或者硬件上實現多個線程并發執行的技術。具有多線程能力的計算機因有硬件支持而能夠在同一時間執行多于一個線程,進而提升整體處理性能。在多線程程序中,經常要用全局變量來實現多個函數間的數據共享。由于數據空間是共享的,因此全局變量也為所有線程共有。現有的一些開發平臺或系統,如JVM,Android等會提供直接獲取線程名字的接口,這些平臺和系統都偏向于高級語言,而一些基于比較老的l inux版本的平臺無法照辦上述的原理方法直接獲取線程名字的接口,Linux系統在運行包含多個線程的應用程序時,往往會出現應用程序崩潰的情況。但是具體在哪個線程崩潰,l inux的打印僅僅給出一個線程識別碼。線程識別碼只是一個數字,而且是臨時創建的,非常的不直觀,僅一個線程識別碼無法判斷究竟是哪個線程出了問題,這在調試方面很不方便。
在維護每個線程的私有數據的時候,我們可能會想到分配一個保存線程數據的數組,用線程的識別碼作為數組的索引來實現訪問,但是有一個問題是系統生成的線程識別碼不能保證是一個小而連續的整數,并且用數組實現的時候由于其他線程也可以訪問其數組中的數據,這樣會引起數據混亂。這時候我們可以借助線程的私有數據來解決這個問題。
我國專利(公開號:CN105160013A;公開日:2015-12-16)公開了一種數據采集系統的通信報文保存方法,該方法包括:使用至少一個報文采集裝置采集報文,并將采集的報文發送;構建內存緩沖區,采用內存緩沖技術,將接收的報文存放置于內存緩沖區進行累積,并設置有累積閾值;當報文累積數量超過所述累積閾值時,啟用CPU負載檢測,當該檢測值低于預設的下限檢測閾值時,則將報文壓縮;當報文壓縮完成后,同時啟用CPU負載檢測和I/O負載檢測,當該檢測值均低于預設的下限檢測閾值時,將壓縮報文以文件形式存儲至磁盤中;文件在存儲至磁盤時,采用全局唯一性生成方法,以文件屬性信息的組合信息作為文件命名標準,用于快速查找和提取報文;在整個采集系統的通信報文的采集和保存過程中,均使用多線程技術進行并行處理,用于降低報文在采集過程中的丟包率,還用在文件的存儲時,保證文件的完整性。
上述專利文獻公開的通信報文保存方法不是專門針對Linux系統的多線程設計的,不能將線程識別碼與其名稱對應起來,并在應用程序崩潰時及時調出并顯示崩潰的線程名字。
發明內容
本發明針對現有的技術存在的上述問題,專門提供一種針對Linux系統、利用線程私有數據獲取線程名字的調試方法,本發明所要解決的技術問題是:如何使Linux系統程序員能方便迅速定位到有問題的線程從而提高調試代碼的效率。
本發明的目的可通過下列技術方案來實現:
一種利用線程私有數據獲取線程名字的調試方法,其特征在于,所述調試方法包括以下步驟:
S1、存儲數據:線程啟動后,創建該線程的私有數據,并將該線程識別碼及對應的名字設置到一個共享數據區中;
S2、查詢名稱:所有線程啟動后,從共享數據區打印線程的全局變量到日志中;當程序崩潰時,通過查詢崩潰信息中的線程識別碼和打印的日志,找到對應的名字并顯示出來。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京遠橋科技有限公司,未經北京遠橋科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710839620.8/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





