TW201319799A - 提供和收集關於程式的異常終止的資料之方法和裝置 - Google Patents

提供和收集關於程式的異常終止的資料之方法和裝置 Download PDF

Info

Publication number
TW201319799A
TW201319799A TW101134885A TW101134885A TW201319799A TW 201319799 A TW201319799 A TW 201319799A TW 101134885 A TW101134885 A TW 101134885A TW 101134885 A TW101134885 A TW 101134885A TW 201319799 A TW201319799 A TW 201319799A
Authority
TW
Taiwan
Prior art keywords
data
identification data
program
code
error
Prior art date
Application number
TW101134885A
Other languages
English (en)
Inventor
Sung-Gook Jang
Kwang-Hee Yoo
Joo-Hyun Sung
Hye-Jin Jin
Yoon-Hyung Lee
Original Assignee
Neowiz Games Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Neowiz Games Co Ltd filed Critical Neowiz Games Co Ltd
Publication of TW201319799A publication Critical patent/TW201319799A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本發明係有關於一種用於提供和收集關於一程式的異常終止的資料之方法和裝置。在用於提供關於一程式的異常終止的資料的方法之中,一異常終止程式之包含版本資訊的原因資料被抽取。藉由收集至少一段指明一正在執行該異常終止程式之元件的硬體或軟體的檢查資料並且利用該原因資料產生有關該異常終止之一原因的識別資料以執行一錯誤資料產生動作。收集之檢查資料和產生之識別資料被傳送至外部。依據本發明,一程式開發者或管理者甚至能夠利用指出錯誤之原因的原因資料和一除錯DB,識別出一錯誤的詳細函數位址,且能夠輕易地管理重複的錯誤。

Description

提供和收集關於程式的異常終止的資料之方法和裝置
概括言之,本發明係有關於一種用於提供和收集關於程式的異常終止的資料之方法和裝置,特別是關於一種當程式被異常終止之時,藉由使用版本管理資訊收集資料的方法和裝置,以及一種用於分析該等收集之資料的方法和裝置。
當程式發生預期之外的錯誤或類似情況之時,使用者首先要求開發該程式的公司解決產生該錯誤的問題,而程式開發公司則試著藉由與個人使用者進行一對一的溝通以解決問題。然而,從程式開發公司的觀點而言,由於工作過程的重複,嘗試與複數個人使用者各自透過一對一溝通的解決問題方式,將造成時間和費用上的的浪費。此外,個人使用者甚至可能因為程式開發公司處理程式問題過於緩慢而有所抱怨。
因此,程式開發公司藉由收集透過抽取一個程式的全部或部分的內容而取得的傾印檔案(dump file)以便修正程式錯誤、檢查資料、和備份資料,從而偵除預期之外的錯誤。但是,此方法的不利之處在於,取決於個別使用者或個別服務提供者,程式的原始碼、版本與執行環境均具有不同的特性,故而使得其難以有效率地妥善處理程式的錯誤。
因此,本發明將上述發生於先前技術的問題銘記於心,而本發明之一目的係提出一種用於提供和收集關於程式的異常終止的資料之方法和裝置,其能夠解決習見的問題,意即由於當程式發生錯誤時,僅使用傾印檔案進行錯誤之偵除,難以有效率及迅速地偵除錯誤。
依據本發明之一特色以達成上述目的,其提出一種用於提供關於一程式之異常終止的資料之方法,包含抽取一異常終止程式之包含版本資訊的原因資料(cause data);藉由收集至少一段指明一正在執行該異常終止程式之元件的硬體或軟體的檢查資料(check data)並且利用該原因資料產生有關異常終止之一原因的識別資料(identification data)以執行一錯誤資料產生動作;以及將該收集之檢查資料和該產生之識別資料傳送至外部。
依據本發明之另一特色以達成上述目的,其提出一種用於提供關於一程式之異常終止的資料之裝置,包含一狀態檢查單元,被組構成抽取一異常終止程式之包含版本資訊的原因資料;一錯誤資料產生單元,被組構成收集至少一段指明一正在執行該異常終止程式之元件的硬體或軟體的檢查資料並且利用該原因資料產生有關異常終止之一原因的識別資料;以及一資料傳送單元,被組構成將該收集之檢查資料和該產生之識別資料傳送至外部。
依據本發明之再一特色以達成上述目的,其提出一種用於收集關於一程式之異常終止的資料之方法,包含自一外部元件接收版本資訊和識別資料並判定該版本資訊和該 識別資料是否係儲存於一除錯資料庫(debug database;DB)之中;以及接收至少一段指明一正在執行一異常終止程式之元件的硬體或軟體的檢查資料,並更新位於該除錯DB中的識別資料和檢查資料中的至少一者。
依據本發明之又另一特色以達成上述目的,其提出一種用於收集關於一程式之異常終止的資料之裝置,包含一除錯資料庫(DB)判定單元,被組構成自一外部元件接收版本資訊和識別資料並判定該版本資訊和該識別資料是否係儲存於一除錯資料庫(DB)之中;以及一資料更新單元,被組構成接收至少一段指明一正在執行一異常終止程式之元件的硬體或軟體的檢查資料,並更新位於該除錯DB中的接收之識別資料和檢查資料中的至少一者。
以下將參照附錄圖式詳細說明本發明之實施例。在以下的說明之中,習知的組態或功能之詳細描述可能多此一舉而模糊化本發明之主旨者,故將予以省略。
以下將參照圖1說明依據本發明一實施例的一種用於提供關於由一資料提供裝置所執行之一程式之異常終止的資料的方法。
在步驟S100之中,一狀態檢查單元100抽取一異常終止程式之包含版本資訊的"原因資料"。例如,版本資訊係指使得程式的版本能夠被從外部識別出的一组數字或字元的組合,且可以包含一版本代碼。當開發者或程式的管理者進行一程式的更新或類似動作之時,版本資訊可以被修訂。
依據本發明之一實施例,版本資訊之特徵可以在於其係一個經過編碼的版本代碼,使得僅有經過認證的使用者可以存取該版本資訊。一個經過編碼使得其被以一個包含於版本代碼中的認證密鑰(authentication key)加密的版本代碼可以被散佈及實施,使得程式開發者或管理者將對應於被散佈的版本代碼的一對認證密鑰儲存於一資料收集裝置之中。因此,當資料提供裝置傳送包含經過編碼使得僅有一經過認證之使用者能夠存取其資料的版本代碼的資料之時,前述之資料收集裝置可以藉由將經過編碼的版本代碼解碼以抽取一認證密鑰,並利用包含於該資料收集裝置中的認證密鑰對,對抽取出來的認證密鑰進行認證。
此處,"原因資料"表示藉由抽取一程式、一應用程式、或一用戶端的全部或部分內容而取得之一檔案,以便修正程式之錯誤、檢查資料、以及備份資料。在本發明的一實施例之中,原因資料可以被實施成一微型傾印檔案(minidump file)。上述的"微型傾印檔案"一詞表示一個包含有關一程式之異常終止的系統和記憶體資料的檔案,諸如當一程式或一應用程式發生當機之時的堆疊(stack)遺跡或記憶堆(heap)資訊。一般而言,在一程式或一應用程式由於在使用者的電腦或類似裝置上之當機或類似事件而被強制中止的情形下,若產生一微型傾印,則使用者可以將產生的微型傾印傳送給程式開發者。程式開發者可以利用對應的微型傾印檔案,針對錯誤發生的部分進行除錯。
一般而言,當使用一微型傾印檔案之時,僅能夠知道 對應程式之錯誤發生於其中的一個函數或功能的位址。然而,本發明採用包含版本資訊的原因資料,故可以從儲存於資料收集裝置中的大量資料之中,利用具有相同版本資訊的資料片段對錯誤進行分析,從而獲得識別出對應錯誤的詳細函數位址或類似機制的優點。
在步驟S110之中,一錯誤資料產生步驟被狀態檢查單元100呼叫。當一程式或類似物件由於異常終止而被停止之時,該程式可以被終止於有關錯誤的原因資料並未被傳送至一外部元件的狀態之中。
因此,依據本發明之一實施例,該錯誤資料產生步驟係在異常終止發生之前被呼叫,從而獲得在不投入其它資源之下即精確地回報錯誤的優點。除非被呼叫,否則錯誤資料產生步驟不會被執行,且若狀態檢查單元100判定目前的狀態對應至異常終止,則可以藉由呼叫一錯誤處理步驟加以執行。
在本發明的另一實施例之中,當異常終止發生之時,可以執行設定,使得一原因資料檔案被儲存於記憶體之中一段預定長度的時間。其被儲存的該段預定長度之時間可以由使用者事先設定,使得當錯誤資料產生步驟在異常終止發生之後被呼叫之時,儲存於記憶體中的原因資料被提取並被使用於錯誤資料產生步驟。一般而言,當一程式被異常終止之時,可能發生異常終止所針對之一程式、一應用程式或類似物件中的所有程序均被中止。因此,依據本發明之一實施例,原因資料檔案被儲存於記憶體之中一段 預定長度的時間,從而獲得防止程序配合原因資料被終止但錯誤資料產生步驟未被執行的情況之優點。
在步驟S120之中,一錯誤資料產生單元200核驗有關原因資料的檢查資料之設定,並依照核驗之後的檢查資料之設定,收集檢查資料。
上述的"檢查資料"一詞可以不僅是包含正在執行異常終止程式的裝置的硬體規格,例如,程式正在其上執行的電腦的處理器、主機板、繪圖卡、記憶體和網路,亦包含有關在電腦上執行程式或類似物件必須被用到的視訊或音訊編解碼器和其他程式的軟體資訊。
依據本發明之一實施例,檢查資料之設定可以被實施成使得其能夠由一外部元件進行核驗。上述的"外部元件"一詞表示可以配具檢查資料之設定的元件,且包含諸如一外部資料庫(DB)、一外部伺服器、以及一外部網路等組件。外部元件從使用者接收有關檢查資料的設定。因此,檢查資料最好是由使用者設定,以避免對於不合理資料之收集的規則或標準被違反,並收集分析錯誤所必須的檢查資料。
依據本發明之一實施例,錯誤資料產生單元200可以請求外部元件核驗檢查資料之設定,且可以依照外部元件所請求的檢查資料之設定,收集有關異常終止所針對之電腦的特有資料。
在步驟S130之中,錯誤資料產生單元200產生識別資料。識別資料表示具有一特有數值,使得一程式開發者或管理者能夠識別異常終止之原因的資料。錯誤資料產生單 元200可以利用一個將經過分析的原因資料做為種子的散列函數(hash function)產生識別資料。
以下將說明依據本發明一實施例之錯誤資料產生單元200產生識別資料之步驟。一錯誤例外代碼和一偏移量代碼(offset code)被抽取自原因資料。
錯誤例外代碼在一錯誤發生於程式執行期間之時,允許終止一程式之函數被執行,且包含一允許利用例外識別出錯誤發生於其中的函數或功能之代碼。
偏移量代碼表示程式執行期間被載入記憶體之一區段之位址,且可以提供決定一位置之功能,其中在一錯誤發生之時,利用對應的偏移量代碼參照記憶體。
其可以藉由結合抽取之錯誤例外代碼與偏移量代碼而產生一组合代碼。舉例而言,當錯誤例外代碼是一個10位數的字元或數字之組合而偏移量代碼是一個6位數的字元或數字之組合之時,可以藉由將該二代碼彼此結合而產生一個16位數的字元/數字字串之組合代碼。被產生做為組合代碼的16位數的字元/數字之組合被使用做為一個種子,且一散列函數被施用至該種子,從而產生一散列代碼。因此,該散列代碼具有一特有代碼,且其能夠判定一傾印是否重複以及是否發生相同的錯誤。所產生的散列代碼可以被設定成識別資料。
一資料傳送單元300將錯誤資料產生單元200所產生的檢查資料和識別資料傳送至裝置的外部。以下將說明依據本發明一實施例之資料傳送單元300將資料傳送到外部 之步驟。
於步驟S140,資料傳送單元300判斷版本資訊和識別資料是否被儲存於一外部元件之中。如前所述,外部元件包含一DB、一伺服器、等等,且被組構成傳送一個有關版本資訊和識別資料是否被儲存於外部元件之中的判定請求,並自外部元件接收一個回應請求資料的判定。
若資料傳送單元300自外部元件接收到指出識別資料並未儲存的回應,則資料傳送單元300在步驟S150將識別資料傳送至外部元件。由於外部元件與資料提供裝置具有相同的版本資訊,故外部元件可以儲存版本資訊和識別資料,使得由資料傳送單元300僅傳送識別資料,即能使版本資訊匹配識別資料。換言之,指出識別資料不存在的回應表示不存在完全一樣的傾印檔案且發現一個過去從未出現相同錯誤的新錯誤原因。
資料傳送單元300在步驟S160將關聯於儲存於外部元件中之識別資料的檢查資料傳送至外部。資料傳送單元300執行步驟S150,使得外部元件儲存版本資訊和識別資料,且亦儲存異常終止所針對之電腦的檢查資料,從而使得外部元件能夠被實施成使得對應至版本資訊和識別資料的檢查資料片段得以被歸類和儲存。
依據本發明之一實施例,該方法可以另外包含檢查通往外部元件的傳送是否已被正常執行的步驟,以及若該傳送並未被正常執行,則執行對外部元件重新傳送的步驟。在資料被傳送至諸如一網路伺服器的外部元件的情形下, 若傳送大量的資料至網路伺服器,則有資料漏失的可能性。因此,該方法另包含以下步驟,在資料已根據本發明的資料提供方法被傳送之後,檢查傳送是否已然正常執行,且若傳送並未被正常執行,則執行對外部元件的重新傳送,從而保證資料收集係可靠的。該方法可以另包含以下步驟,若對外部元件的資料傳送已然正常執行,則刪除原因資料和檢查資料,從而減少不必要的記憶體使用。
依據本發明,其有一個有利之處在於,即使將程式的修訂納入考慮,其仍能夠針對個別版本利用一錯誤統計函數提供有關於錯誤的原因的可靠資料。
以下將參照圖2說明依據本發明另一實施例的一種用於提供關於一程式之異常終止的資料的裝置。依據本發明的資料提供裝置可以包含一狀態檢查單元100、一錯誤資料產生單元200、以及一資料傳送單元300。
狀態檢查單元100抽取包含異常終止之版本資訊的原因資料,並在異常終止發生之前呼叫錯誤資料產生單元200。
包含版本資訊的原因資料被抽取出來,而利用對應至儲存於資料提供裝置中之資料的版本資訊的資料對錯誤進行分析,從而獲得識別出對應錯誤的詳細函數位址或類似機制的優點。
原因資料包含一微型傾印檔案,其表示藉由抽取一程式或一應用程式的至少部分內容以便修正程式中的錯誤、檢查資料、和備份資料而取得的一個檔案。
錯誤資料產生單元200收集關聯原因資料的檢查資料,並藉由對該原因資料施用一散列函數而產生識別資料。錯誤資料產生單元200可以包含一檢查資料收集單元210、一代碼資料抽取單元230、以及一識別資料產生單元250。
檢查資料收集單元210核驗檢查資料的設定,並依照該設定收集檢查資料。此檢查資料與前述說明完全相同,故此處略去其詳細說明。檢查資料可以包含異常終止所針對之電腦或類似元件的所有硬體及軟體規格。在本發明之一實施例之中,檢查資料收集單元210可以被實施成使得檢查資料之設定係由一外部元件核驗且檢查資料係根據經過核驗之設定被收集。
代碼資料抽取單元230可以從原因資料抽取產生識別資料所需要的資料,且可以依據本發明之一實施例抽取一錯誤例外代碼和一偏移量代碼。
識別資料產生單元250可以藉由結合、混合、或修改已被代碼資料抽取單元抽取以產生識別資料的資料以產生一组合代碼。依據本發明之一實施例,識別資料產生單元可以藉由結合抽取之錯誤例外代碼與抽取之偏移量代碼以產生一组合代碼。其可以利用產生的組合代碼產生具有一特有數值的識別資料。在本發明之一實施例之中,其藉由對上述之組合代碼施用一散列函數而產生一散列代碼,使得識別資料能夠自產生之散列代碼產生。
資料傳送單元300將錯誤資料產生單元200所產生的 檢查資料和識別資料傳送至外部元件。資料傳送單元300可以包含一識別資料傳送單元310和一檢查資料傳送單元330。
識別資料傳送單元310判斷版本資訊與識別資料是否儲存於外部元件之中,且若識別資料並未儲存於外部元件之中,則將識別資料傳送至外部元件。換言之,識別資料不存在的事實意味完全一樣的傾印檔案並不存在且相同的錯誤過去從未發生,因此得到更新錯誤之種類的優點。
檢查資料傳送單元330將關聯於儲存於外部元件中之識別資料的檢查資料傳送給外部元件。外部元件儲存版本資訊和識別資料。因此,當僅有檢查資料被更新之時,被更新的檢查資料可以被儲存,使得更新的檢查資料與版本資訊及識別資料二者相匹配。
以下將參照圖3說明依據本發明再一實施例的一種用於收集關於一程式之異常終止的資料的方法。
一資料收集裝置400自一外部元件接收一請求以核驗檢查資料的設定,且將檢查資料的設定傳送給請求檢查資料之設定之核驗的外部元件。如前所述,檢查資料包含異常終止所針對之電腦或類似元件的硬體及軟體規格。依據本發明之一實施例,接收檢查資料的步驟可以包含自一外部元件500接收一請求以核驗檢查資料之設定並且將待收集的預設資料項目之設定傳送給外部元件之步驟,以及依照傳送之設定接收至少一段收集的檢查資料之步驟。
於步驟S200,版本資訊及識別資料被接收,且判斷接 收之版本資訊與識別資料是否儲存於一除錯DB之中。依據本發明之一實施例,除錯DB之特徵在於其儲存包含版本資訊的資料,且可以自外部元件接收版本資訊和識別資料。依據本發明之一實施例,除錯DB可以包含一構成除錯資訊的二進位資料格式檔案,可以被產生於原始碼或類似項目被編譯的情況之中,且可以被實施成一程式除錯資料庫(Program Debug Database;PDB)。因此,其有一優點在於,若發生一錯誤之時存在一傾印檔案和一錯誤DB檔案,則其甚至有可能利用除錯DB識別出對應錯誤的詳細函數位址。
資料收集裝置400判斷包含與接收版本資訊相同版本資訊的識別資料之片段是否係儲存於一除錯DB 600之中。當版本代碼不同之時,其可以判定接收的版本代碼係錯誤的。資料收集裝置400判斷與輸入識別資料相同的資料是否存在於包含同一版本資訊並儲存於除錯DB中的識別資料片段之中。
在步驟S210之中,其判斷是否儲存對應的識別資料,而後資料被更新。資料更新步驟被组構成使得若版本資訊和識別資料儲存於除錯DB之中,則檢查資料被更新,且使得若識別資料並未儲存於除錯DB之中,則識別資料及檢查資料被更新。
依據本發明之一實施例,若版本資訊和識別資料儲存於除錯DB之中,則一個識別資料的識別計數在步驟S220被遞增。
識別計數表示一個數值,此數值計數完全一樣的傾印 檔案之數目或者相同錯誤發生次數的數目,因為識別資料具有一特有之數值。例如,當與輸入識別資料相同的識別資料先前儲存於除錯DB之中時,一識別計數可以被增加1。因此,從一個程式開發者或管理者的觀點而言,其有一優點在於,識別計數針對同一錯誤被遞增,從而同時處理完全一樣的錯誤,且在於識別計數係用以針對複數使用者所造成的錯誤,故減少錯誤資料的處理負荷。
若識別資料並未儲存於除錯DB之中,則識別資料在步驟S230被更新。識別資料並未儲存的情形意味其並無完全一樣的傾印檔案或者相同的錯誤過去從未發生,使得有關被傳送之版本資訊的識別資料被更新。例如,若其儲存取決於版本資訊之片段的一個識別資料之片段的列表,則識別資料被加入儲存列表且之後可以被更新。
在步驟S240,更新檢查資料之步驟被組構成更新匹配版本資訊與識別資料的檢查資料。因此,依據本發明之一實施例,若版本資訊和識別資料存在於除錯DB之中,則識別計數被遞增。當相同類型之錯誤過去從未發生而識別資料並不存在除錯DB中之時,新的識別資料被加入除錯DB之中,使得其能夠根據資料收集裝置所接收的版本資訊以及識別資料將檢查資料加以歸類及更新。
以下將參照圖4說明依據本發明又另一實施例的一種用於收集關於一程式之異常終止的資料的裝置,其中該裝置使用一除錯DB以儲存包含版本資訊的資料。一資料收集裝置400可以包含一檢查資料設定單元410、一除錯DB判 定單元430、以及一除錯DB更新單元450。
檢查資料設定單元410接收一請求以核驗檢查資料的設定,並傳送所請求的檢查資料之設定。
除錯DB判定單元430接收版本資訊和識別資料,並判斷版本資訊和識別資料是否儲存於除錯DB之中。
若版本資訊和識別資料儲存於除錯DB之中,則除錯DB更新單元450接收檢查資料並更新除錯DB中的檢查資料,反之,若識別資料並未儲存於除錯DB之中,則除錯DB更新單元450接收識別資料和檢查資料,並更新除錯DB中的識別資料和檢查資料。依據本發明之一實施例,若版本資訊(代碼)和識別資料儲存於除錯DB之中,則除錯DB更新單元450接收檢查資料並在除錯DB之中加以更新,而且遞增識別資料的識別計數。若識別資料並未儲存於除錯DB之中,則除錯DB更新單元450可以接收識別資料和檢查資料,並於除錯DB之中加以更新。
本發明之實施例可以被實施成電腦程式之形式。熟習相關技術的電腦程式設計師應能輕易地推得構成該電腦程式之程式碼及程式碼區段。此外,該電腦程式係儲存於電腦可讀取記錄媒體之中且由電腦讀取及執行,從而實施該等實施例。上述之電腦可讀取記錄媒體包含磁性記錄媒體、光學記錄媒體、以及載波媒體。
如前所述,本發明之有利處在於,其提供服務,使得其不僅能夠收集指出錯誤之原因的原因資料,同時亦能夠根據使用程式版本資訊之版本和一除錯DB管理錯誤,且在 於程式開發者或管理者甚至能夠利用有關錯誤之原因的原因資料和該除錯DB識別出對應錯誤的詳細函數位址。
本發明之較佳實施例已說明於上。熟習相關技術者應能領略,各種修改、增補、和替換均屬可能,且並未脫離發明之範疇及精神。因此,揭示之實施例應從一個說明性的觀點加以考慮,而非限定性的觀點。本發明之範疇係界定於申請專利範圍而非前述的說明之中,且其所有落入等效範疇的差異均應視為包含於本發明的範疇之內。
100‧‧‧狀態檢查單元
200‧‧‧錯誤資料產生單元
210‧‧‧檢查資料收集單元
230‧‧‧代碼資料抽取單元
250‧‧‧識別資料產生單元
300‧‧‧資料傳送單元
310‧‧‧識別資料傳送單元
330‧‧‧檢查資料傳送單元
400‧‧‧資料收集裝置
410‧‧‧檢查資料設定單元
430‧‧‧除錯DB判定單元
450‧‧‧除錯DB更新單元
500‧‧‧外部元件
600‧‧‧除錯DB
S100-S170‧‧‧步驟
S200-S240‧‧‧步驟
藉由配合所附圖式進行的詳細說明,將更容易理解本發明之前述和其他目的、特徵及優點,其中:圖1係一流程圖,其顯示依據本發明一實施例的一種用於提供關於一程式之異常終止的資料的方法;圖2係一功能方塊圖,其顯示依據本發明一實施例的一種用於提供關於一程式之異常終止的資料的裝置;圖3係一流程圖,其顯示依據本發明一實施例的一種用於收集關於一程式之異常終止的資料的方法;而圖4係一功能方塊圖,其顯示依據本發明一實施例的一種用於收集關於一程式之異常終止的資料的裝置。
S100-S170‧‧‧步驟

Claims (14)

  1. 一種用於提供關於程式的異常終止的資料之方法,包含:抽取一異常終止程式之包含版本資訊的原因資料;藉由收集至少一段指明一正在執行該異常終止程式之元件的硬體或軟體的檢查資料並且利用該原因資料產生有關該異常終止之一原因的識別資料以執行一錯誤資料產生動作;以及將該收集之檢查資料和該產生之識別資料傳送至外部。
  2. 如申請專利範圍第1項之方法,其中之該產生之識別資料被組構成藉由對該原因資料施用一散列函數而產生該識別資料。
  3. 如申請專利範圍第2項之方法,其中之產生該識別資料包含:自該原因資料抽取一錯誤例外代碼和一偏移量代碼;以及藉由結合該錯誤例外代碼與該偏移量代碼產生一组合代碼,並自一藉由對該组合代碼施用一散列函數所產生之散列代碼產生該識別資料。
  4. 如申請專利範圍第1項之方法,其中之收集該檢查資料被組構成核驗該檢查資料之設定並收集至少一段對應至該被核驗之設定之檢查資料。
  5. 如申請專利範圍第1項之方法,其中的傳送至外部包 含:判斷該版本資訊和該識別資料是否儲存於一外部元件之中;若該識別資料並未儲存於該外部元件之中,則將該識別資料傳送至該外部元件;以及將關聯該識別資料的檢查資料傳送至該外部元件。
  6. 如申請專利範圍第1項之方法,其中該版本資訊被編碼成使得該版本資訊被利用一認證密鑰加密。
  7. 如申請專利範圍第1項之方法,其中該錯誤資料產生動作在該異常終止之前或者在該異常終止之後的一段預設長度的時間之內被呼叫。
  8. 如申請專利範圍第1項之方法,另包含:判斷該識別資料和該檢查資料是否已被正常傳送至該外部元件;若該識別資料和該檢查資料未被正常傳送,則將該識別資料和該檢查資料重新傳送至該外部元件;以及若該識別資料和該檢查資料已被正常傳送,則刪除該原因資料和該檢查資料。
  9. 一種用於提供關於程式的異常終止的資料之裝置,包含:一狀態檢查單元,被組構成抽取一異常終止程式之包含版本資訊的原因資料;一錯誤資料產生單元,被組構成收集至少一段指明一正在執行該異常終止程式之元件的硬體或軟體的檢查資料 並且利用該原因資料產生有關該異常終止之一原因的識別資料;以及一資料傳送單元,被組構成將該收集之檢查資料和該產生之識別資料傳送至外部。
  10. 如申請專利範圍第9項之裝置,其中該錯誤資料產生單元包含:一檢查資料收集單元,被組構成核驗該檢查資料之設定並依照該核驗之設定收集至少一段檢查資料;以及一識別資料產生單元,被組構成藉由對該原因資料施用一散列函數以產生該識別資料。
  11. 如申請專利範圍第10項之裝置,其中該識別資料產生單元包含:一代碼資料抽取單元,被組構成自該原因資料抽取一錯誤例外代碼和一偏移量代碼;以及一識別資料產生單元,被組構成藉由結合該錯誤例外代碼與該偏移量代碼以產生一组合代碼,並自一藉由對該组合代碼施用一散列函數所產生之散列代碼產生該識別資料。
  12. 如申請專利範圍第9項之裝置,其中該資料傳送單元包含:一識別資料傳送單元,被組構成判斷該版本資訊與該識別資料是否儲存於一外部元件之中,且若該識別資料並未儲存於該外部元件之中,則將該識別資料傳送至該外部元件;以及 一檢查資料傳送單元,被組構成將關聯該識別資料的檢查資料傳送至該外部元件。
  13. 如申請專利範圍第9項之裝置,其中該錯誤資料產生單元在該異常終止之前或者在該異常終止之後的一段預設長度的時間之內被呼叫。
  14. 一種用於記錄申請專利範圍第1至8項之中任一項之用於提供關於程式的異常終止的資料之方法的電腦可讀取記錄媒體,其中該方法被記錄成可於電腦上執行。
TW101134885A 2011-11-14 2012-09-24 提供和收集關於程式的異常終止的資料之方法和裝置 TW201319799A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110118485A KR101338150B1 (ko) 2011-11-14 2011-11-14 프로그램의 비정상적 종료에 대한 데이터 제공 및 수집 방법과 그 장치

Publications (1)

Publication Number Publication Date
TW201319799A true TW201319799A (zh) 2013-05-16

Family

ID=47445811

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101134885A TW201319799A (zh) 2011-11-14 2012-09-24 提供和收集關於程式的異常終止的資料之方法和裝置

Country Status (4)

Country Link
KR (1) KR101338150B1 (zh)
CN (1) CN102866932A (zh)
TW (1) TW201319799A (zh)
WO (1) WO2013073762A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101310070B1 (ko) * 2013-06-26 2013-09-24 (주)지란지교소프트 프로그램간의 충돌을 예방하는 방법 및 그 방법이 기록된 기록매체
KR101489142B1 (ko) * 2013-07-12 2015-02-05 주식회사 안랩 클라이언트시스템 및 클라이언트시스템의 동작 방법
CN105354131A (zh) * 2015-12-11 2016-02-24 北京慧眼智行科技有限公司 一种服务程序运行的监控方法及装置
CN106295331A (zh) * 2016-08-22 2017-01-04 浪潮电子信息产业股份有限公司 一种主动防御及异常上报系统的设计方法
KR101860674B1 (ko) * 2017-06-20 2018-05-23 넷마블 주식회사 크래시 리포트 그룹핑 방법, 서버 및 컴퓨터 프로그램
KR102158775B1 (ko) * 2018-05-15 2020-09-22 넷마블 주식회사 크래시 리포트 그룹핑 방법, 서버 및 컴퓨터 프로그램
KR102256894B1 (ko) * 2018-05-15 2021-06-01 넷마블 주식회사 크래시 리포트 그룹핑 방법, 서버 및 컴퓨터 프로그램

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7383470B2 (en) * 2004-09-30 2008-06-03 Microsoft Corporation Method, system, and apparatus for identifying unresponsive portions of a computer program
US7702959B2 (en) * 2005-08-02 2010-04-20 Nhn Corporation Error management system and method of using the same
KR100717241B1 (ko) * 2005-08-02 2007-05-11 엔에이치엔(주) 에러 관리 시스템 및 이를 이용한 에러 관리 방법
KR20080022889A (ko) * 2006-09-08 2008-03-12 삼성전자주식회사 임베디드 시스템에서 디버깅 파일 생성 방법 및 장치
CN102063344A (zh) * 2009-11-18 2011-05-18 中兴通讯股份有限公司 一种系统故障信息转储的方法与系统
KR101639332B1 (ko) * 2009-12-17 2016-07-13 삼성전자주식회사 화상형성장치 관리 서버, 화상형성장치들의 에러를 관리하는 방법 및 시스템

Also Published As

Publication number Publication date
CN102866932A (zh) 2013-01-09
KR101338150B1 (ko) 2013-12-06
KR20130053027A (ko) 2013-05-23
WO2013073762A1 (en) 2013-05-23

Similar Documents

Publication Publication Date Title
TW201319799A (zh) 提供和收集關於程式的異常終止的資料之方法和裝置
US9910743B2 (en) Method, system and device for validating repair files and repairing corrupt software
US9160762B2 (en) Verifying application security vulnerabilities
JP4828218B2 (ja) 自己記述アーチファクトおよびアプリケーション抽象化
US7681181B2 (en) Method, system, and apparatus for providing custom product support for a software program based upon states of program execution instability
CN104123493A (zh) 应用程序的安全性检测方法和装置
CN110674506B (zh) 快速验证应用程序漏洞状态的方法及系统
US20060253760A1 (en) System and methods for processing software authorization and error feedback
CN111897846A (zh) 缓存数据校验方法、装置、设备及存储介质
Liu et al. Morest: Model-based RESTful API testing with execution feedback
Ognawala et al. Compositional fuzzing aided by targeted symbolic execution
US7231634B2 (en) Method for determining scope and cause of memory corruption
CN112419057A (zh) 智能合约的日志生成及保存方法、装置、设备和存储介质
US7299453B2 (en) Testing measurements
JP2013125441A (ja) ソフトウェア管理システム、ソフトウェア検証装置、ソフトウェア管理方法
Laranjeiro et al. Experimental robustness evaluation of JMS middleware
Zhou et al. Non-distinguishable inconsistencies as a deterministic oracle for detecting security bugs
KR101781527B1 (ko) 모바일 어플리케이션 검증 방법 및 이를 적용한 단말
EP3989095B1 (en) Verification information creation system, verification information creation method, and verification information creation program
JP7348492B2 (ja) 情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法
JP2021082113A (ja) 変更影響解析プログラム、変更影響解析方法および変更影響解析装置
KR101637201B1 (ko) 함수 후킹을 이용한 리눅스 또는 유닉스 시스템용 c언어 기반 어플리케이션 성능 관리 모듈
CN112363870B (zh) 应用程序开发处理方法、装置、计算机设备和存储介质
WO2023105613A1 (ja) セキュリティ保証装置、セキュリティ保証方法、及びコンピュータ読み取り可能な記録媒体
Sena et al. Integrated analysis of exception flows and handler actions in java libraries: An empirical study