一種程序異常的監控方法和裝置制造方法
【專利摘要】本發明實施例公開了一種程序異常的監控方法,包括:向被監控程序關聯的通信窗口發送探測消息;若預設時間內未收到所述通信窗口反饋的響應消息,確定所述被監控程序運行異常;獲取所述被監控程序的堆棧信息;根據所述堆棧信息生成異常日志文件。本發明實施例還公開了一種程序異常的監控裝置。采用本發明,能在程序發生異常時保留現場數據。
【專利說明】一種程序異常的監控方法和裝置
【技術領域】
[0001]本發明涉及軟件測試領域,尤其涉及一種程序異常的監控方法和裝置。
【背景技術】
[0002]在程序的運行過程中,由于程序本身的設計或外部負載的問題經常會發生異常,例如程序存在Bug造成CPU占用率過高或者讀寫操作過于頻繁造成界面卡頓或退出等異常情況,這些異常有時在程序測試階段很難發現,需要在實際使用中由用戶來反饋異常信息,軟件設計人員根據反饋的異常信息分析異常原因。然而程序在運行過程中發生異常的時間是隨機的,當用戶反饋程序的異常信息,程序的現場數據已難以保留,軟件設計人員又很難重現程序發生異常的現場數據。
【發明內容】
[0003]本發明實施例所要解決的技術問題在于,提供一種程序異常的監控方法。可在程序發生異常時保留現場數據。
[0004]為了解決上述技術問題,本發明實施例提供了一種程序異常的監控方法,包括:
[0005]向被監控程序關聯的通信窗口發送探測消息;
[0006]若預設時間內未收到所述通信窗口反饋的響應消息,確定所述被監控程序運行異常;
[0007]獲取所述被監控程序的堆棧信息;
[0008]根據所述堆棧信息生成異常日志文件。
[0009]相應地,本發明實施例還提供了一種程序異常的監控裝置,包括:
[0010]發送模塊,用于向被監控程序關聯的通信窗口發送探測消息;
[0011]確定模塊,用于若預設時間內未收到所述通信窗口反饋的響應消息,確定所述被監控程序運行異常;
[0012]獲取模塊,用于獲取所述被監控程序的堆棧信息;
[0013]生成模塊,用于根據所述堆棧信息生成異常日志文件。
[0014]實施本發明實施例,具有如下有益效果:
[0015]通過向被監控程序關聯的通信窗口發送探測消息,在預設的時長內未收到通信窗口反饋的響應消息,確定被監控程序發生異常,獲取被監控程序的堆棧信息并根據堆棧信息生成異常日志文件,這樣可以自動監控被監控程序發生的異常,并在發生異常時獲取被監控程序的現場數據,便于分析和確定被監控程序的異常原因。
【專利附圖】
【附圖說明】
[0016]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0017]圖1是本發明第一實施例提供的一種程序異常的監控方法的流程示意圖;
[0018]圖2是本發明第二實施例提供的一種程序異常的監控方法的流程示意圖;
[0019]圖3是圖1和圖2中注入DLL的示意圖;
[0020]圖4是圖1和圖2中創建通信窗口和監控線程的示意圖;
[0021]圖5是本發明實施例的一種程序異常的監控方法的示例示意圖;
[0022]圖6是本發明第一實施例提供的注意程序一種的監控裝置的結構示意圖;
[0023]圖7是本發明第二實施例提供的一種程序異常的監控裝置的結構示意圖;
[0024]圖8是圖7中獲取|旲塊的結構不意圖;
[0025]圖9是本發明第三實施例提供的一種程序異常的監控裝置的結構示意圖。
【具體實施方式】
[0026]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0027]本發明實施例提供的程序異常的監控方法可以應用于軟件測試、軟件調試或軟件維護的場景,例如,使被監控程序處于正常工作環境,不間斷的運行被監控程序程序,向被監控程序關聯的通信窗口發送探測消息,如果預設時長內未接收到通信窗口根據探測消息返回的響應消息,確定被監控程序發生異常,此時獲取被監控程序當前的堆棧消息,根據堆棧信息生成異常日志文件。這樣可以自動監控被監控程序發生的異常,并在發生異常時獲取被監控程序的現場數據,便于分析和確定被監控程序的異常原因,為被監控程序的改進提供依據。
[0028]本發明實施例涉及的監控裝置可以包括:計算機、平板電腦、智能手機、筆記本電腦、掌上電腦以及移動互聯網設備(MID)等終端設備。
[0029]參見圖1,為本發明實施例一提供的一種程序異常的監控方法的流程示意圖,在本發明實施例中,所述方法包括:
[0030]S101、向被監控程序關聯的通信窗口發送探測消息。
[0031]具體的,被監控程序預先關聯有一個通信窗口,監控裝置向通信窗口發送探測消息,通信窗口可以為被監控程序主窗口之外設置的一個后臺的窗口,不影響被監控程序正常運行。可選的,監控裝置可以根據預設的時間周期向通信窗口發送探測消息,探測消息的類型本發明不作限制。
[0032]S102、若預設時間內未收到通信窗口反饋的響應消息,確定被監控程序運行異常。
[0033]具體的,如果被監控程序運行正常,被監控程序關聯的通信窗口在接收到探測消息后,會在預設時間內向監控裝置反饋響應消息;如果被監控程序運行異常,被監控程序關聯的通信窗口在接收到探測消息后,無法向監控裝置反饋響應消息或反饋響應消息超時,監控裝置在預設時長被未接收到響應消息,則確定被監控程序運行異常。
[0034]S103、獲取被監控程序的堆棧信息。
[0035]具體的,堆棧信息中包括被監控程序調用函數的調用記錄和當前的程序指針地址,監控裝置在確定被監控程序發生異常時,獲取被監控程序當前的堆棧信息。
[0036]S104、根據堆棧信息生成異常日志文件。
[0037]具體的,監控裝置根據獲取的堆棧信息生成異常日志文件,日常日志文件中保存有被監控程序發生異常時的堆棧信息,軟件分析人員可以根據異常日志文件分析被監控程序的異常原因。
[0038]實施本發明的實施例,通過向被監控程序關聯的通信窗口發送探測消息,在預設的時長內未收到通信窗口反饋的響應消息,確定被監控程序發生異常,獲取被監控程序的堆棧信息并根據堆棧信息生成異常日志文件,這樣可以自動監控被監控程序發生的異常,并在發生異常時獲取被監控程序的現場數據,便于分析和確定被監控程序的異常原因。
[0039]參見圖2-圖4,為本發明第二實施例提供的一種程序異常的監控方法的流程示意圖,包括:
[0040]S201、生成動態鏈接庫DLL,并向被監控程序注入DLL。
[0041]具體的,DLL(Dynamic Link Library,動態鏈接庫,簡稱DLL)是一個可由多個程序同時使用的代碼和數據的庫,這樣有助于不同程序間共享數據和資源。如圖3所示,監控裝置生成DLL,并向被監控程序注入DLL,DLL包括已被編譯和鏈接的通信窗口創建函數,通信窗口創建函數不屬于被監控程序的可執行代碼,被監控程序的進程可以在DLL中調用通信窗口創建函數。
[0042]S202、加載DLL以創建與被監控程序關聯的通信窗口。
[0043]具體的,監控裝置加載S201創建的DLL后,調用DLL中的通信窗口創建函數以創建與被監控程序關聯的通信窗口。優選的,通信窗口為透明的通信窗口。
[0044]S203、校驗被監控程序是否完整。
[0045]具體的,如果被監控程序的代碼發生篡改時(如代碼新增或刪除或更改),被監控程序就無法保證其功能的完整性,在運行時會發生無法預測的異常,因此在被監控程序運行之前需要校驗其完整性,在本發明的實施例中,校驗的方法可以是:采用哈希算法計算被監控程序的哈希值,將計算得到的哈希值與被監控程序的初始哈希值進行比較,初始哈希值是指被監控程序處于完整狀態時計算得到的哈希值,如果二者相等,則表明被監控程序是完整的,否則,表明被監控程序發生篡改。需要說明的是,哈希算法可以是MD5、MD4和SHA-1等算法,本發明不作限制。
[0046]S204、創建監控線程,監控線程用于監控被監控程序的運行過程。
[0047]具體的,監控裝置在被監控線程的主線程下創建一個監控線程,監控線程用于監控被監控程序的運行過程。
[0048]示例性的是,被監控程序在運行時主線程為thread main,監控裝置在thread A下創建一個監控線程thread monitor, thread monitor用于監控和記錄被監控程序運行過程中產生的數據。
[0049]S205、指示監控線程向被監控程序關聯的通信窗口發送探測消息。
[0050]具體的,監控裝置指示監控線程向被監控程序關聯的通信窗口發送探測消息,監控裝置可以指示監控線程根據預設的時間周期向被監控程序關聯的通信窗口發送探測消肩、O
[0051]S206、若預設時間內未收到通信窗口反饋的響應消息,確定被監控程序運行異常。
[0052]具體的,如圖4所示,監控裝置與通信窗口之間建立跨進程連接,如果被監控程序運行正常,被監控程序關聯的通信窗口在接收到探測消息后,會在預設時間內向監控裝置反饋響應消息;如果被監控程序運行異常,被監控程序關聯的通信窗口在接收到探測消息后,無法向監控裝置反饋響應消息或反饋響應消息超時,監控裝置在預設時長被未接收到響應消息,則確定被監控程序運行異常。
[0053]示例性的,預設時間為0.5ms,監控裝置向被監控程序關聯的通信窗口發送探測消息后,若監控裝置在0.5ms內未接收到通信窗口根據探測消息反饋的響應消息,表明被監控程序發生異常,無法正常工作。
[0054]S207、查詢被監控程序的調試接口并調用性能分析工具通過調試接口獲取被監控程序的堆棧信息。
[0055]具體,被監控程序預先設置有一個調試接口,監控裝置查詢被監控程序的調試接口并調用性能分析工具通過調試接口獲取被監控程序的堆棧信息,堆棧信息中包括被監控程序調用函數的調用記錄和當前的程序指針地址,監控裝置在確定被監控程序發生異常時,獲取被監控程序當前的堆棧信息。需要說明的是,性能分析工具根據操作系統的類型選擇,例如,在Windows操作系統中,性能分析工具包括xperf或其他性能分析工具,在Linux操作系統中,性能分析工具包括vmstat。
[0056]S208、根據堆棧信息生成異常日志文件。
[0057]具體的,監控裝置根據堆棧信息生成預設格式的異常日志文件,并將異常日志文件保存至指定的路徑,異常日志文件的格式可以是事件追蹤日志ETL格式或Dump格式。
[0058]S209、解析異常日志文件,獲取被監控程序的異常信息。
[0059]具體的,監控裝置從指定的路徑中獲取并解析異常日志文件,異常日志文件中存儲有被監控程序發生異常時的堆棧信息,堆棧信息中包括被監控程序調用函數的順序記錄和被監控程序發生異常時的程序指針地址。
[0060]示例性的,監控裝置確定被監控程序發生異常時,監控裝置將發生異常時被監控程序調用的函數的調用記錄打印出來,其中,最后調用的函數最先打印出來,最先調用的最后打印出來,最新打印出來的函數為被監控程序發生異常時調用的函數,這樣軟件分析人員根據調用記錄很容易定位到發生異常的函數。
[0061]例如,被監控程序的main O函數依次調用了 a()函數和b()函數,其中b()函數又調用了 c()函數,如果被監控程序在調用c O函數時發生異常,則打印出來的調用記錄如下:
[0062]c()函數:被監控程序發生異常時調用的函數;
[0063]b ()函數:c ()函數方法調用的函數;
[0064]main O函數:b()函數調用的函數。
[0065]S210、根據被監控程序的異常信息,定位被監控程序的發生異常時的代碼行。
[0066]具體的,監控裝置根據異常信息中的調用記錄定位到被監控程序發生異常是調用的函數,并根據程序指針地址定位到該函數中的代碼行。實施本發明的實施例,通過向被監控程序關聯的通信窗口發送探測消息,在預設的時長內未收到通信窗口反饋的響應消息,確定被監控程序發生異常,獲取被監控程序的堆棧信息并根據堆棧信息生成異常日志文件,這樣可以自動監控被監控程序發生的異常,并在發生異常時獲取被監控程序的現場數據,便于分析和確定被監控程序的異常原因。
[0067]下面結合圖5以一個具體的實例對圖2提供的程序異常的監控方法進行說明。圖2的被監控軟件為即時聊天軟件,即時聊天軟件可以為文本聊天軟件或語音聊天軟件,標號3的窗口為即時聊天軟件的聊天窗口,標號4對應的窗口為與即時聊天軟件關聯的通信窗口,通信窗口可以在后臺運行或為一個透明的窗口,對用戶不可見。當即時通信軟件接收到開啟指定聯系人的聊天窗口的指令時,生成并顯示聊天窗口。
[0068]監控裝置生成動態鏈接庫DLL,向即時通信軟件注入DLL,監控裝置加載DLL創建與被監控窗口關聯的通信窗口 4。監控裝置校驗即時通信軟件是否完整,校驗的方法可以為采用哈希值算法來校驗,當校驗通過后,監聽程序在即時通信軟件的主線程main thread下創建監控線程monitor thread,監控線程用于監控即時通信軟件的運行過程,監控裝置指示監控線程向通信窗口 4發送sounding message探測消息,假設預設時間為1ms,監控裝置若在1ms內未收到通信窗口 4根據探測消息返回的響應消息response message,確定即時通信軟件發生異常(例如:聊天窗口 3發生卡頓現象,無法及時響應操作指令)。監控裝置查詢即時聊天軟件的調試接口并調用性能分析工具通過調試接口獲取即時聊天軟件當前的堆棧信息,堆棧信息中包括即時通信軟件調用的函數的順序列表,這個堆棧信息即為即時通信軟件發生異常時的現場數據,監控裝置根據堆棧信息生成異常日志文件供后續查詢,監控裝置解析異常日志文件,獲得即時通信軟件的異常信息,定位到監控軟件發生異常時的代碼行。
[0069]參加圖6,為本發明第一實施例提供的一種程序異常的監控裝置的結構示意圖,在本發明實施例中,所述監控裝置包括發送模塊10、確定模塊11、獲取模塊12和生成模塊13。
[0070]發送模塊10,用于向被監控程序關聯的通信窗口發送探測消息。
[0071]具體的,被監控程序預先關聯有一個通信窗口,發送模塊10向通信窗口發送探測消息,通信窗口可以為被監控程序主窗口之外設置的一個后臺的窗口,不影響被監控程序正常運行。可選的,發送模塊10可以根據預設的時間周期向通信窗口發送探測消息,探測消息的類型本發明不作限制。
[0072]確定模塊11,用于若預設時間內未收到所述通信窗口反饋的響應消息,確定所述被監控程序運行異常。
[0073]具體的,如果被監控程序運行正常,被監控程序關聯的通信窗口在接收到探測消息后,會在預設時間內向確定模塊11反饋響應消息;如果被監控程序運行異常,被監控程序關聯的通信窗口在接收到探測消息后,無法向確定模塊11反饋響應消息或反饋響應消息超時,確定模塊11在預設時長被未接收到響應消息,則確定被監控程序運行異常。
[0074]獲取模塊12,用于獲取所述被監控程序的堆棧信息。
[0075]具體的,堆棧信息中包括被監控程序調用函數的調用記錄和當前的程序指針地址,獲取模塊12在確定被監控程序發生異常時,獲取被監控程序當前的堆棧信息。
[0076]生成模塊13,用于根據所述堆棧信息生成異常日志文件。
[0077]具體的,生成模塊13根據獲取的堆棧信息生成異常日志文件,日常日志文件中保存有被監控程序發生異常時的堆棧信息,軟件分析人員可以根據異常日志文件分析被監控程序的異常原因。
[0078]實施本發明的實施例,通過向被監控程序關聯的通信窗口發送探測消息,在預設的時長內未收到通信窗口反饋的響應消息,確定被監控程序發生異常,獲取被監控程序的堆棧信息并根據堆棧信息生成異常日志文件,這樣可以自動監控被監控程序發生的異常,并在發生異常時獲取被監控程序的現場數據,便于分析和確定被監控程序的異常原因。
[0079]進一步的,參見圖7和圖8,為本發明第二實施例提供的一種程序異常的監控裝置的結構示意圖,在本發明實施例中,所述監控裝置除包括發生模塊10、確定模塊11、獲取模塊12和生成模塊13之外,還包括:注入模塊15、加載模塊14、校驗模塊16、解析模塊17和定位模塊18。
[0080]注入模塊15,用于生成動態鏈接庫DLL,并向所述被監控程序注入所述DLL。
[0081]加載模塊14,用于加載所述DLL以創建與所述被監控程序關聯的通信窗口。
[0082]校驗模塊16,用于校驗所述被監控程序的完整性,若校驗完整性成功,執行所述向被監控程序關聯的通信窗口發送探測消息。
[0083]解析模塊17,用于解析所述異常日志文件,獲得所述被監控程序的異常信息。
[0084]定位模塊18,用于根據所述被監控程序的異常信息,定位所述被監控程序的發生異常時的代碼行。
[0085]可選的,獲取模塊12包括查詢單元121和調用單元122。
[0086]查詢單元121,用于查詢所述被監控程序的調試接口。
[0087]調用單元122,用于調用性能分析工具通過所述調試接口獲取所述被監控程序的堆棧信息。
[0088]本發明實施例和方法實施例二屬于同一構思,其帶來的技術效果也相同,具體請參照方法實施例二的描述,此處不再贅述。
[0089]參見圖9,本發明第三實施例提供了一種監控裝置的結構示意圖。如圖8所示,所述軟件測試設備1000可以包括:至少一個處理器1001,例如CPU,至少一個網絡接口 1004,用戶接口 1003,存儲器1005,至少一個通信總線1002。其中,通信總線1002用于實現這些組件之間的連接通信。其中,用戶接口 1003可以包括顯示屏(Display)、鍵盤(Keyboard),可選用戶接口 1003還可以包括標準的有線接口、無線接口。網絡接口 1004可選的可以包括標準的有線接口、無線接口(如W1-FI接口)。存儲器1005可以是高速RAM存儲器,也可以是非不穩定的存儲器(non-volatile memory),例如至少一個磁盤存儲器。存儲器1005可選的還可以是至少一個位于遠離前述處理器1001的存儲裝置。如圖8所示,作為一種計算機存儲介質的存儲器1005中可以包括操作系統、網絡通信模塊、用戶接口模塊以及應用程序。
[0090]在圖8所示的監控裝置1000中,處理器1001可以用于調用存儲器1005中存儲的軟件測試應用程序,并具體執行以下步驟:
[0091]向被監控程序關聯的通信窗口發送探測消息;
[0092]若預設時間內未收到所述通信窗口反饋的響應消息,確定所述被監控程序運行異常;
[0093]獲取所述被監控程序的堆棧信息;
[0094]根據所述堆棧信息生成異常日志文件。
[0095]在本發明的一些實施例中,處理器1001還用于執行:
[0096]生成動態鏈接庫DLL,并向所述被監控程序注入所述DLL ;
[0097]加載所述DLL以創建與所述被監控程序關聯的通信窗口。
[0098]在本發明的一些實施例中,處理器1001執行所述向被監控程序關聯的通信窗口發送探測消息包括:
[0099]創建監控線程,所述監控線程用于監控所述被監控程序的運行過程;
[0100]指示所述監控線程向所述被監控程序關聯的通信窗口發送探測消息。
[0101]在本發明的一些實施例中,處理器1001還用于執行:
[0102]校驗所述被監控程序的完整性,若校驗完整性成功,執行所述向被監控程序關聯的通信窗口發送探測消息。
[0103]在本發明的一些實施例中,處理器1001執行所述獲取所述被監控程序的堆棧信息包括:
[0104]查詢所述被監控程序的調試接口 ;
[0105]調用性能分析工具通過所述調試接口獲取所述被監控程序的堆棧信息。
[0106]在本發明的一些實施例中,處理器1001還用于執行:解析所述異常日志文件,獲得所述被監控程序的異常信息;
[0107]根據所述被監控程序的異常信息,定位所述被監控程序的發生異常時的代碼行。
[0108]在本發明的一些實施例中,所述通信窗口為透明的通信窗口。
[0109]在本發明的一些實施例中,所述異常日志文件的格式包括事件追蹤日志ETL格式或Dump格式。
[0110]實施本發明的實施例,通過向被監控程序關聯的通信窗口發送探測消息,在預設的時長內未收到通信窗口反饋的響應消息,確定被監控程序發生異常,獲取被監控程序的堆棧信息并根據堆棧信息生成異常日志文件,這樣可以自動監控被監控程序發生的異常,并在發生異常時獲取被監控程序的現場數據,便于分析和確定被監控程序的異常原因。
[0111]本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random AccessMemory, RAM)等。
[0112]以上所揭露的僅為本發明一種較佳實施例而已,當然不能以此來限定本發明之權利范圍,本領域普通技術人員可以理解實現上述實施例的全部或部分流程,并依本發明權利要求所作的等同變化,仍屬于發明所涵蓋的范圍。
【權利要求】
1.一種程序異常的監控方法,其特征在于,包括: 向被監控程序關聯的通信窗口發送探測消息; 若預設時間內未收到所述通信窗口反饋的響應消息,確定所述被監控程序運行異常; 獲取所述被監控程序的堆棧信息; 根據所述堆棧信息生成異常日志文件。
2.如權利要求1所述的方法,其特征在于,所述向被監控程序關聯的通信窗口發送探測消息之前,還包括: 生成動態鏈接庫DLL,并向所述被監控程序注入所述DLL ; 加載所述DLL以創建與所述被監控程序關聯的通信窗口。
3.如權利要求1或2所述的方法,其特征在于,所述向被監控程序關聯的通信窗口發送探測消息包括: 創建監控線程,所述監控線程用于監控所述被監控程序的運行過程; 指示所述監控線程向所述被監控程序關聯的通信窗口發送探測消息。
4.如權利要求3所述的方法,其特征在于,所述向被監控程序關聯的通信窗口發送探測消息之前,還包括: 校驗所述被監控程序的完整性,若校驗完整性成功,執行所述向被監控程序關聯的通信窗口發送探測消息。
5.如權利要求4所述的方法,其特征在于,所述獲取所述被監控程序的堆棧信息包括: 查詢所述被監控程序的調試接口; 調用性能分析工具通過所述調試接口獲取所述被監控程序的堆棧信息。
6.如權利要求5所述的方法,其特征在于,所述根據所述堆棧信息生成異常日志文件之后,還包括: 解析所述異常日志文件,獲得所述被監控程序的異常信息; 根據所述被監控程序的異常信息,定位所述被監控程序的發生異常時的代碼行。
7.如權利要求1-6任意一項所述的方法,其特征在于,所述通信窗口為透明的通信窗□。
8.如權利要求7所述的方法,其特征在于,所述異常日志文件的格式包括事件追蹤日志ETL格式或Dump格式。
9.一種程序異常的監控裝置,其特征在于,包括: 發送模塊,用于向被監控程序關聯的通信窗口發送探測消息; 確定模塊,用于若預設時間內未收到所述通信窗口反饋的響應消息,確定所述被監控程序運行異常; 獲取模塊,用于獲取所述被監控程序的堆棧信息; 生成模塊,用于根據所述堆棧信息生成異常日志文件。
10.如權利要求9所述的裝置,其特征在于,還包括: 注入模塊,用于生成動態鏈接庫DLL,并向所述被監控程序注入所述DLL ; 加載模塊,用于加載所述DLL以創建與所述被監控程序關聯的通信窗口。
11.如權利要求10所述的裝置,其特征在于,還包括: 校驗模塊,用于校驗所述被監控程序的完整性,若校驗完整性成功,執行所述向被監控程序關聯的通信窗口發送探測消息。
12.如權利要求4所述的裝置,其特征在于,所述獲取模塊包括: 查詢單元,用于查詢所述被監控程序的調試接口 ; 調用單元,用于調用性能分析工具通過所述調試接口獲取所述被監控程序的堆棧信肩、O
13.如權利要求12所述的裝置,其特征在于,還包括: 解析模塊,用于解析所述異常日志文件,獲得所述被監控程序的異常信息; 定位模塊,用于根據所述被監控程序的異常信息,定位所述被監控程序的發生異常時的代碼行。
14.如權利要求9-13任意一項所述的裝置,其特征在于,所述通信窗口為透明的通信窗P。
15.如權利要求14所述的裝置,其特征在于,所述異常日志文件的格式包括事件追蹤日志ETL格式或Dump格式。
【文檔編號】G06F11/30GK104268055SQ201410440651
【公開日】2015年1月7日 申請日期:2014年9月1日 優先權日:2014年9月1日
【發明者】歐瑞清 申請人:騰訊科技(深圳)有限公司