本發明專利技術涉及計算機軟件技術領域,具體涉及軟件故障信息的收集方法、電子設備系統,該方法包括當目標軟件啟動時,加載并解析配置腳本,以獲得監控對象的地址信息及故障監控條件;基于所述監控對象的地址信息設置監控斷點;當所述監控斷點的運行數據滿足所述故障監控條件時,記錄所述監控斷點的運行數據,以確定所述目標軟件的故障信息。在配置腳本中包括有監控對象的地址信息及故障監控條件,利用該地址信息即可設置監控斷點對目標軟件在監控斷點處的運行數據進行記錄,從而能夠獲得目標軟件故障的過程數據。軟件故障的過程數據。軟件故障的過程數據。
【技術實現步驟摘要】
軟件故障信息的收集方法、電子設備及系統
[0001]本專利技術涉及計算機軟件
,具體涉及軟件故障信息的收集方法、電子設備及系統。
技術介紹
[0002]在計算機軟件中,當軟件遇到崩潰類問題,又也可稱之為crash問題,例如退出程序或重啟,常采用內存轉儲文件(即,dump文件)對這類問題進行定位和解決。通過dump文件可以分析crash現場的函數調用堆棧及變量信息等,從而進一步分析相關代碼或者構造環境復現,進而復現問題分析及驗證。
[0003]然而對于崩潰問題的發生,往往都是數據被改成非法數據的過程難以探尋,而dump記錄的現場堆棧只是訪問非法數據時崩潰。對于外部用戶的崩潰,信息缺少,環境差異等,往往都是本地難以復現。
技術實現思路
[0004]有鑒于此,本專利技術實施例提供了一種軟件故障信息的收集方法、電子設備及系統,以解決軟件故障信息的收集問題。
[0005]根據第一方面,本專利技術實施例提供了一種軟件故障信息的收集方法,包括:
[0006]當目標軟件啟動時,加載并解析配置腳本,以獲得監控對象的地址信息及故障監控條件;
[0007]基于所述監控對象的地址信息設置監控斷點;
[0008]當所述監控斷點的運行數據滿足所述故障監控條件時,記錄所述監控斷點的運行數據,以確定所述目標軟件的故障信息。
[0009]本專利技術實施例提供的軟件故障信息的收集方法,通過將對配置腳本的加載與解析隨目標軟件的啟動而進行,且在配置腳本中包括有監控對象的地址信息及故障監控條件,利用該地址信息即可設置監控斷點對目標軟件在監控斷點處的運行數據進行記錄,從而能夠獲得目標軟件故障的過程數據,而非僅僅是結果數據,以便于后續進行故障再現與分析。同時,在配置腳本中包括有監控對象的地址信息,即使是在沒有包括程序庫文件的用戶側也能實現監控斷點的設置,實現了軟件故障信息的準確收集。
[0010]在一些實施方式中,所述基于所述監控對象的地址信息設置監控斷點,包括:
[0011]獲取所述監控對象的地址信息的類型,所述地址信息的類型包括靜態地址信息或動態地址信息;
[0012]根據所述地址信息的類型以及所述監控對象的類型,確定監控斷點的類型并設置對應類型的監控斷點,所述監控對象的類型包括變量或函數。
[0013]本專利技術實施例提供的軟件故障信息的收集方法,針對不同地址信息的類型以及監控對象的類型設置不同的監控斷點,能夠保證監控斷點的準確性,從而實現運行數據的準確收集。
[0014]在一些實施方式中,所述根據所述地址信息的類型確定監控斷點的類型并設置對應類型的監控斷點,包括:
[0015]當所述地址信息的類型為靜態地址信息時,獲取所述地址信息所在模塊的第一首地址;
[0016]將所述第一首地址加上所述地址信息,確定第一絕對地址;
[0017]根據所述第一絕對地址以及所述監控對象的類型,在所述第一絕對地址處設置第一監控斷點,所述第一監控斷點的類型包括函數斷點、內存斷點或硬件斷點中的一種。
[0018]在一些實施方式中,所述根據所述地址信息的類型確定監控斷點的類型并設置對應類型的監控斷點,包括:
[0019]當所述地址信息的類型為動態地址信息時,在運行到所述地址信息時獲取所述地址信息所在模塊的第二首地址;
[0020]將所述第二首地址加上所述地址信息,確定第二絕對地址;
[0021]根據所述第二絕對地址以及所述監控對象的類型,在所述第二絕對地址處設置第二監控斷點以及第三監控斷點。
[0022]在一些實施方式中,所述加載并解析配置腳本,以獲得監控對象的地址信息及故障監控條件包括:
[0023]獲取所述目標軟件的腳本配置信息,所述腳本配置信息包括所述監控對象的標識信息以及所述故障監控條件;
[0024]當所述標識信息為符號信息時,獲取所述目標軟件對應的程序庫文件;
[0025]基于所述程序庫文件將所述符號信息轉換為地址信息,以確定所述配置腳本;
[0026]對所述配置腳本進行解析,確定所述監控對象的地址信息及故障監控條件。
[0027]本專利技術實施例提供的軟件故障信息的收集方法,將對應的符號信息轉化成不可讀的變量地址信息,生成對應的配置腳本,所以用戶側即使沒有程序庫文件也可實現監控斷點的設置。
[0028]在一些實施方式中,所述方法還包括:
[0029]獲取更新后的配置腳本;
[0030]利用所述更新后的配置腳本替換所述配置腳本,以利用所述更新后的配置腳本對所述目標軟件進行故障信息的收集。
[0031]本專利技術實施例提供的軟件故障信息的收集方法,通過配置腳本更新的方式,不用編譯升級軟件即可以支持對新監控需求的支持。
[0032]在一些實施方式中,所述方法還包括:
[0033]當所述目標軟件發生崩潰后,生成內存轉儲文件;
[0034]將所述內存轉儲文件以及所述目標軟件的故障信息發送至分析服務器,以對所述目標軟件的故障進行分析。
[0035]本專利技術實施例提供的軟件故障信息的收集方法,由于只有內存轉儲文件和現場堆棧,信息較少而沒有故障過程數據,導致開發本地復現時很多無效復現問題,基于此在發送內存轉儲文件的同時還發送目標軟件的故障信息,通過對問題變量的監控實現了快速精準復現及問題定位。
[0036]根據第二方面,本專利技術實施例還提供了一種軟件故障信息的收集裝置,包括:
[0037]加載模塊,用于當目標軟件啟動時,加載并解析配置腳本,以獲得監控對象的地址信息及故障監控條件;
[0038]設置模塊,用于基于所述監控對象的地址信息設置監控斷點;
[0039]記錄模塊,用于當所述監控斷點的運行數據滿足所述故障監控條件時,記錄所述監控斷點的運行數據,以確定所述目標軟件的故障信息。
[0040]根據第三方面,本專利技術實施例提供了一種電子設備,包括:存儲器和處理器,所述存儲器和所述處理器之間互相通信連接,所述存儲器中存儲有計算機指令,所述處理器通過執行所述計算機指令,從而執行第一方面或者第一方面的任意一種實施方式中所述的軟件故障信息的收集方法。
[0041]根據第四方面,本專利技術實施例提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲計算機指令,所述計算機指令用于使所述計算機執行第一方面或者第一方面的任意一種實施方式中所述的軟件故障信息的收集方法。
[0042]需要說明的是,本專利技術實施例提供的軟件故障信息的收集裝置、電子設備及計算機可讀存儲介質的相應有益效果,請參見上文軟件故障信息的收集方法的對應有益效果的描述,在此不再贅述。
[0043]根據第五方面,本專利技術實施例提供了一種軟件故障信息的收集系統,包括:
[0044]軟件運行端,用于執行本專利技術第一方面或第一方面任一項實施方式中所述的軟件故障信息的收集方法;
[0045]分析服務器,與所述軟件運行端通信連接,所述分析服務器用于在所述目標軟件發生崩潰后本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種軟件故障信息的收集方法,其特征在于,包括:當目標軟件啟動時,加載并解析配置腳本,以獲得監控對象的地址信息及故障監控條件;基于所述監控對象的地址信息設置監控斷點;當所述監控斷點的運行數據滿足所述故障監控條件時,記錄所述監控斷點的運行數據,以確定所述目標軟件的故障信息。2.根據權利要求1所述的方法,其特征在于,所述基于所述監控對象的地址信息設置監控斷點,包括:獲取所述監控對象的地址信息的類型,所述地址信息的類型包括靜態地址信息或動態地址信息;根據所述地址信息的類型以及所述監控對象的類型,確定監控斷點的類型并設置對應類型的監控斷點,所述監控對象的類型包括變量或函數。3.根據權利要求2所述的方法,其特征在于,所述根據所述地址信息的類型確定監控斷點的類型并設置對應類型的監控斷點,包括:當所述地址信息的類型為靜態地址信息時,獲取所述地址信息所在模塊的第一首地址;將所述第一首地址加上所述地址信息,確定第一絕對地址;根據所述第一絕對地址以及所述監控對象的類型,在所述第一絕對地址處設置第一監控斷點,所述第一監控斷點的類型包括函數斷點、內存斷點或硬件斷點中的一種。4.根據權利要求2所述的方法,其特征在于,所述根據所述地址信息的類型確定監控斷點的類型并設置對應類型的監控斷點,包括:當所述地址信息的類型為動態地址信息時,在運行到所述地址信息時獲取所述地址信息所在模塊的第二首地址;將所述第二首地址加上所述地址信息,確定第二絕對地址;根據所述第二絕對地址以及所述監控對象的類型,在所述第二絕對地址處設置第二監控斷點以及第三監控斷點。5.根據權利要求1所述的方法,其特征在于,所述加載并解析配置腳本,以獲得監控對象的地址信息及故障監控條件包括:獲取所述目標軟件的腳本配置信息,所述...
【專利技術屬性】
技術研發人員:李進波,
申請(專利權)人:廣聯達科技股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。