国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      運(yùn)行日志取得方法及程序、存儲介質(zhì)的制作方法

      文檔序號:6373227閱讀:145來源:國知局

      專利名稱::運(yùn)行日志取得方法及程序、存儲介質(zhì)的制作方法
      技術(shù)領(lǐng)域
      :本發(fā)明涉及一種可取得被分成為多個模塊的軟件的處理運(yùn)行日志的技術(shù)。
      背景技術(shù)
      :歷來,對于重現(xiàn)率低的軟件故障,是通過取得軟件的處理運(yùn)行日志和分析該處理LOG而查清故障的原因并采取對策。然而,在取得上述現(xiàn)有的處理運(yùn)行日志方面存在以下的問題。(1)為了在用戶的動作環(huán)境中也能繼續(xù)不斷地取得運(yùn)行日志,必須對軟件的模塊本身進(jìn)行加工增加處理運(yùn)行日志取得例行程序,這將加大為取得處理運(yùn)行日志的作業(yè)負(fù)擔(dān)。(2)由于處理運(yùn)行日志的取得是針對每個模塊進(jìn)行,生成的運(yùn)行日志是以模塊為單位的,很難取得作為完全按照時間順序的運(yùn)行日志的整個軟件的處理的。因此,作為對整個處理運(yùn)行日志的預(yù)測不佳,分析運(yùn)行日志一直到發(fā)現(xiàn)故障原因的過程極其耗費(fèi)工時。
      發(fā)明內(nèi)容本發(fā)明為鑒于上述問題而完成的發(fā)明,其目的在于提供一種容易取得被分成為多個模塊的軟件的處理運(yùn)行日志,并且可以削減用來分析軟件故障原因的工時的運(yùn)行日志的取得方法,以及用于藉助計算機(jī)實現(xiàn)該方法的程序和存放該程序的存儲介質(zhì)。為達(dá)到上述目的,本發(fā)明的運(yùn)行日志取得方法具有如下的構(gòu)成。即是一種取得具有進(jìn)行規(guī)定處理的函數(shù)的程序的執(zhí)行中的運(yùn)行日志的運(yùn)行日志取得方法,具有將加載了進(jìn)行上述規(guī)定的處理的函數(shù)的地址改寫為用來取得運(yùn)行日志的函數(shù)的地址的工序,用來取得上述運(yùn)行日志的函數(shù)包含調(diào)用進(jìn)行上述規(guī)定處理的函數(shù),執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;判斷在上述程序內(nèi)的函數(shù)定義中,指針·參數(shù)是否是以規(guī)定的定義方法定義的工序;以及在以規(guī)定的定義方法定義指針·參數(shù)的場合,根據(jù)該定義方法,將該指針·參數(shù)所指的內(nèi)存的內(nèi)容作為運(yùn)行日志進(jìn)行記錄的工序。為達(dá)到上述目的,本發(fā)明的另一運(yùn)行日志取得方法具有如下的構(gòu)成。即是一種取得具備進(jìn)行規(guī)定處理的函數(shù)的程序的執(zhí)行中的運(yùn)行日志的運(yùn)行日志取得方法,具有將加載了進(jìn)行上述規(guī)定的處理的函數(shù)的地址改寫為用來取得運(yùn)行日志的函數(shù)的地址的工序;以及選擇進(jìn)行上述規(guī)定處理的函數(shù)的工序;用來取得上述運(yùn)行日志的函數(shù)包含調(diào)用進(jìn)行上述規(guī)定處理的函數(shù),執(zhí)行該規(guī)定處理,將接收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;將調(diào)用在上述選擇工序中被選擇的函數(shù)時的規(guī)定信息作為運(yùn)行日志進(jìn)行記錄的工序;以及將接收在上述選擇工序中被選擇的函數(shù)時的規(guī)定信息作為運(yùn)行日志進(jìn)行記錄的工序。本發(fā)明的其他特點(diǎn)和優(yōu)點(diǎn)可從參考下面的附圖的描述而了解,附圖各圖中同樣或類似的部件賦予同樣的標(biāo)號。包括在本說明書中并構(gòu)成其一個組成部分的附圖本發(fā)明的各個具體實施方式,并且與敘述一起用來說明本發(fā)明的原理。圖1為實現(xiàn)實施方式1的運(yùn)行日志取得方法的計算機(jī)(軟件評價系統(tǒng))的構(gòu)成的示圖。圖2為實施方式1的函數(shù)加載時的通常的內(nèi)存構(gòu)成的示圖。圖3為使用實施方式1的IATPatch時的內(nèi)存構(gòu)成的示圖。圖4A為使用實施方式1的IATPatch時的狀態(tài)的示圖。圖4B為實施方式1的運(yùn)行日志取得處理的流程圖。圖5為使用實施方式1的IATPatch時的內(nèi)部構(gòu)成的示圖。圖6為實施方式1的COM服務(wù)器的接口的事例(instance)生成時的通常的內(nèi)存構(gòu)成的示圖。圖7為使用實施方式1的VTablePatch時的內(nèi)存構(gòu)成的示圖。圖8A為使用實施方式1的VTablePatch時的狀態(tài)的示圖。圖8B為實施方式1的運(yùn)行日志取得處理的流程圖。圖9為實施方式1的軟件評價系統(tǒng)的內(nèi)部構(gòu)成的示圖。圖10為實施方式2的函數(shù)定義的一例的示圖。圖11為在實施方式2中,用來將指針·參數(shù)的數(shù)據(jù)的實體作為運(yùn)行日志取得的IDL產(chǎn)生的記述的示圖。圖12為取得實施方式2的運(yùn)行日志的場合的流程圖。圖13為在實施方式2中取得的運(yùn)行日志數(shù)據(jù)的示圖。圖14為在實施方式3的函數(shù)定義中,用來將回叫函數(shù)等的不輸出函數(shù)作為運(yùn)行日志取得的IDL產(chǎn)生的記述的示圖。圖15為實施方式3的軟件評價系統(tǒng)的內(nèi)存構(gòu)成的示圖。圖16為取得實施方式3的運(yùn)行日志的場合的流程圖。圖17為在實施方式3中不進(jìn)行圖14的定義的場合取得的運(yùn)行日志數(shù)據(jù)的示圖。圖18為在實施方式3中利用圖14的定義取得的運(yùn)行日志數(shù)據(jù)的示圖。圖19為在實施方式4中,用來將可變長數(shù)組的參數(shù)作為運(yùn)行日志取得的IDL產(chǎn)生的記述的示圖。圖20為在實施方式4中,如圖19所示那樣取得定義函數(shù)時的運(yùn)行日志的場合的流程圖。圖21為在實施方式4中取得的運(yùn)行日志數(shù)據(jù)的示圖。圖22為在通常的函數(shù)定義中,不能取得參數(shù)的函數(shù)的例子的示圖。圖23為各結(jié)構(gòu)體如何使用內(nèi)存的示圖。圖24為在實施方式5的軟件評價系統(tǒng)中,用來取得如圖22那樣的函數(shù)的參數(shù)的運(yùn)行日志的IDL產(chǎn)生的記述的示圖。圖25為取得實施方式5的運(yùn)行日志的場合的流程圖。圖26為根據(jù)內(nèi)存配置,表示結(jié)構(gòu)體參數(shù)分析的細(xì)節(jié)的示圖。圖27為由實施方式5取得的運(yùn)行日志數(shù)據(jù)的示圖。圖28為在通常的函數(shù)定義中,不能取得參數(shù)的函數(shù)的例子的示圖。圖29為各結(jié)構(gòu)體如何配置內(nèi)存的示圖。圖30為在實施方式6的軟件評價系統(tǒng)中,用來取得圖28那樣的函數(shù)的參數(shù)的運(yùn)行日志的IDL產(chǎn)生的記述的示圖。圖31為取得實施方式6的運(yùn)行日志的場合的流程圖。圖32為在實施方式6的軟件評價系統(tǒng)中,利用圖30的定義取得的運(yùn)行日志數(shù)據(jù)的示圖。圖33為在實施方式7中,用來設(shè)定開始運(yùn)行日志取得的函數(shù)/方法的用戶接口的示圖。圖34為取得實施方式7的運(yùn)行日志的場合的流程圖。圖35為用來設(shè)定停止實施方式8中的運(yùn)行日志取得的函數(shù)/方法的用戶接口的示圖。圖36為取得實施方式8的運(yùn)行日志的場合的流程圖。圖37為設(shè)定的只在以實施方式9的錯誤而結(jié)束的場合追加使用觸發(fā)功能的設(shè)定的用戶接口的示圖。圖38為實施方式9的函數(shù)/方法的錯誤定義的內(nèi)容的示圖。圖39為取得實施方式9的運(yùn)行日志的場合的流程圖。圖40為實施方式9的通常的運(yùn)行日志取得處理的詳細(xì)流程圖。圖41為取得實施方式9的運(yùn)行日志的場合的流程圖。圖42為對實施方式10的接口和方法進(jìn)行樹形顯示的用戶接口的示圖。圖43為取得實施方式10的運(yùn)行日志之際的處理的流程圖。圖44為對實施方式11的接口和方法進(jìn)行樹形顯示的用戶接口的示圖。圖45為取得實施方式11的運(yùn)行日志之際的處理的流程圖。圖46為將實施方式12的運(yùn)行日志連日期一起進(jìn)行分割保存的場合的處理的流程圖。圖47為將實施方式13的運(yùn)行日志按照大小或個數(shù)進(jìn)行分割保存的場合的處理的流程圖。圖48為在實施方式14中,將取得的運(yùn)行日志存儲于一定數(shù)量的內(nèi)存中的場合的內(nèi)存的概圖。圖49為在實施方式14中,將取得的運(yùn)行日志存儲于一定數(shù)量的內(nèi)存中的場合的運(yùn)行日志取得的流程圖。具體實施例方式下面參照附圖對本發(fā)明的優(yōu)選實施方式予以詳細(xì)說明。本實施方式,是在從某一模塊調(diào)用存在于另一個模塊內(nèi)的函數(shù)時的結(jié)構(gòu)的、利用保存于內(nèi)存中的輸入函數(shù)地址或虛擬函數(shù)地址表(VirtualAddressTable)、掛接模塊間的函數(shù)調(diào)用并記錄在運(yùn)行日志中,這樣可不對軟件的模塊本身進(jìn)行加工而將整個軟件的處理作為時間順序的運(yùn)行日志取得。下面具體說明之。&lt;系統(tǒng)構(gòu)成&gt;圖1為實現(xiàn)本發(fā)明的實施方式的運(yùn)行日志取得方法的計算機(jī)(軟件評價系統(tǒng))的構(gòu)成的示圖。為簡化說明起見,假設(shè)在本實施方式中,本軟件評價系統(tǒng)是構(gòu)筑在一臺PC的內(nèi)部,本發(fā)明的運(yùn)行日志取得方法的特征是不管是構(gòu)筑于一臺PC的內(nèi)部還是由多個PC構(gòu)筑的網(wǎng)絡(luò)系統(tǒng),都有效。在搭載有本軟件評價系統(tǒng)的計算機(jī)中安裝有CPU1、芯片組2、RAM3、硬盤控制器4、顯示控制器5、硬盤驅(qū)動器6、CD-ROM驅(qū)動器7及顯示器8。另外,設(shè)置有連接CPU1和芯片組2的信號線11、連接芯片組2和RAM3的信號線12、連接芯片組2和各種外圍設(shè)備的外圍設(shè)備總線13、連接硬盤控制器4和硬盤驅(qū)動器6的信號線14、連接硬盤控制器4和CD-ROM驅(qū)動器7的信號線15以及連接顯示控制器5和顯示器8的信號線16。&lt;函數(shù)處理的處理運(yùn)行日志的取得&gt;為了說明實現(xiàn)本發(fā)明的實施方式1的運(yùn)行日志取得方法的軟件評價系統(tǒng),首先利用圖2,對分成為多個模塊的軟件在通常的狀態(tài)下如何加載到內(nèi)存中予以說明。通常,被分成為多個模塊的軟件,被分成為進(jìn)行整體控制的執(zhí)行文件EXE(23)和作為模塊存在并擔(dān)負(fù)補(bǔ)充EXE的任務(wù)的動態(tài)鏈接庫DLL(27),在內(nèi)存中加載EXE和DLL。EXE由代碼段(28)和數(shù)據(jù)段(29)、輸入函數(shù)地址表(22)構(gòu)成。此外,引人函數(shù)地址表被函數(shù)所屬的DLL分開(21、24),在每個DLL中寫有加載各個函數(shù)的地址(30~35)。DLL函數(shù)的實體按每個DLL分開(25、26)加載,各個函數(shù)作為該DLL的一部分被加載(36~41)。在此圖中,的示例是一個EXE使用A.DLL及B.DLL兩個動態(tài)鏈接庫內(nèi)的函數(shù),實際使用的函數(shù)為FuncAA、FuncAB、FuncAC、FuncBA、FuncBB、FuncBC等六個。位于EXE的代碼段內(nèi)的代碼調(diào)用函數(shù)FuncAA的場合,首先讀入寫在引人函數(shù)地址表內(nèi)的FuncAA的地址(30)。此處實際上寫入作為A.DLL的一部分而讀入的FuncAA代碼(36)的地址,EXE的代碼可以通過調(diào)用該地址而調(diào)用A.DLL的FuncAA。圖3為實施方式1的內(nèi)存構(gòu)成的示圖,與圖2的不同之處在于對運(yùn)行日志取得用的代碼采用所謂的IATPatch(ImportAddressTablePatch)的方法,對函數(shù)調(diào)用進(jìn)行重定向。運(yùn)行日志的取得一開始,就在內(nèi)存內(nèi)加載作為IATPatch用的DLL的C.DLL(58)。C.DLL將引人函數(shù)地址表(52)內(nèi)寫入的函數(shù)的地址改寫為作為C.DLL內(nèi)的運(yùn)行日志取得代碼的FuncCAA、FuncCAB、FuncCAC、FuncCBA、FuncCBB、FuncCBC的地址(61~66)。C.DLL內(nèi)的FuncCAA、FuncCAB、FuncCAC、FuncCBA、FuncCBB、FuncCBC的代碼(73~78),在記錄運(yùn)行日志的同時,調(diào)用被加載到應(yīng)該接受原來的函數(shù)調(diào)用的內(nèi)存中的、作為該函數(shù)的FuncAA、FuncAB、FuncAC、FuncBA、FuncBB、FuncBC(67~72)。圖4A為圖3的IATPatch的處理的示圖,而圖4B為運(yùn)行日志取得處理的流程的流程圖。為了簡化說明起見,在此圖中,在EXE調(diào)用A.DLL內(nèi)的FuncAA之際,IATPatch產(chǎn)生的運(yùn)行日志取得代碼是如何運(yùn)行的示例。EXE(91)一調(diào)用FuncAA(94),位于C.DLL內(nèi)的運(yùn)行日志取得代碼將DLL名/函數(shù)名保存到內(nèi)存中(步驟S402)、將調(diào)用時間保存于內(nèi)存中、將調(diào)用時的參數(shù)保存于內(nèi)存中、將調(diào)用時的指針參數(shù)指示的內(nèi)存內(nèi)容保存于另一個內(nèi)存中(95、步驟S403)。其后,C.DLL調(diào)用本來應(yīng)被調(diào)用的A.DLL(93)內(nèi)的FuncAA(99、步驟S404)。一旦A.DLL的FuncAA處理(97)結(jié)束,并將控制返回C.DLL(98)的話,C.DLL就將返回時的時間保存于內(nèi)存中,將返回值保存于內(nèi)存中,并將返回時的指針參數(shù)指示的內(nèi)存內(nèi)容保存于另一個內(nèi)存中(99)。其后,C.DLL,將保存的運(yùn)行日志信息寫入文件(100、步驟S405),像A.DLL的FuncAA通常結(jié)束那樣返回EXE(101)。圖5為實現(xiàn)實施方式1的運(yùn)行日志取得方法的軟件評價系統(tǒng)的內(nèi)部構(gòu)成的示圖。通常,執(zhí)行形式的EXE(113)調(diào)用DLL-1(116)及DLL-2(117)內(nèi)的函數(shù),此處,嵌入被稱為API追蹤程序(114)的運(yùn)行日志取得代碼,生成處理運(yùn)行日志(115)。API追蹤程序(114),根據(jù)記述DLL-1及DLL-2的函數(shù)定義文件(111)和通過改寫哪一個DLL的哪一個函數(shù)的引人函數(shù)地址表而取得運(yùn)行日志的設(shè)定情景(追蹤情景112)而運(yùn)作。&lt;對方法處理的處理運(yùn)行日志的取得&gt;下面,在實現(xiàn)實施方式1的運(yùn)行日志取得方法的軟件評價系統(tǒng)中,為了說明執(zhí)行文件EXE(113)在COM(構(gòu)件對象模型)服務(wù)器中生成輸出的接口的事例(instance)時是如何被加載到內(nèi)存中,首先參照圖6對在通常的狀態(tài)下如何加載到內(nèi)存的情況予以說明。通常,進(jìn)行接口的事例(instance)一生成的話,在COM服務(wù)器內(nèi),生成要求的接口(121、122)和其方法(在面向?qū)ο缶幊讨?,記述了對象?zhí)行的過程的程序130~135),這兩者都被加載到內(nèi)存中。此處,virtualaddresstable(虛擬地址表118、120)在生成的每一個事例(instance)中作成,并被送到執(zhí)行生成要求的EXE。在此virtualaddresstable中寫有各個方法的生成地址(124~129)。EXE利用這些信息對各個接口進(jìn)行調(diào)用。在此圖中,表示的是一個EXE(119)生成InterfaceA(121)和InterfaceB(122)兩個接口的事例(instance),并使用該接口內(nèi)部的方法的示例,實際使用的方法為MethodAA、MethodAB、MethodAC、MethodBA、MethodBB、MethodBC(130~135)。在EXE的代碼調(diào)用函數(shù)MethodAA的場合,首先讀出寫在virtualaddresstable內(nèi)的MethodAA的地址(124)。此處實際上寫有作為COM服務(wù)器的InterfaceA的一部分而生成的MethodAA代碼(130)的地址,通過調(diào)用該地址,EXE的代碼可以調(diào)用InterfaceA的MethodAA。圖7為使用實施方式1的軟件評價系統(tǒng)的內(nèi)存構(gòu)成的示圖,與圖6的不同之處在于對運(yùn)行日志取得用的代碼采用所謂的VTablePatch(virtualaddresstablePatch)的方法,對方法調(diào)用進(jìn)行重定向。運(yùn)行日志的取得一開始,就在內(nèi)存內(nèi)加載作為VTablePatch用的DLL(143)。此DLL將寫在virtualaddresstable(136、138)內(nèi)的方法的地址改寫為作為DLL內(nèi)的運(yùn)行日志取得代碼的MethodA′A、MethodA′B、MethodA′C、MethodB′A、MethodB′B、MethodB′C的地址(145~150)。DLL(143)內(nèi)的MethodA′A、MethodA′B、MethodA′C、MethodB′A、MethodB′B、MethodB′C的代碼(157~162),在記錄運(yùn)行日志的同時,調(diào)用被加載到應(yīng)該接受原來的函數(shù)調(diào)用的內(nèi)存中的、作為該函數(shù)的MethodAA、MethodAB、MethodAC、MethodBA、MethodBB、MethodBC(157~162)。圖8A為圖7的VTablePateh處理的示圖,圖8B為運(yùn)行日志取得處理的流程的流程圖。為了簡化說明起見,在此圖中,表示在EXE調(diào)用COM服務(wù)器內(nèi)的InterfaceA的MethodAA之際,VTablePatch產(chǎn)生的運(yùn)行日志取得代碼是如何運(yùn)作的示例。EXE(163)一調(diào)用MethodAA(166),位于DLL(164)內(nèi)的運(yùn)行日志取得代碼將模塊名/接口名/方法名保存到內(nèi)存中(步驟S802)、將調(diào)用時間保存于內(nèi)存中、將調(diào)用時的參數(shù)保存于內(nèi)存中、將調(diào)用時的指針參數(shù)指示的內(nèi)存內(nèi)容保存于另一個內(nèi)存中(167、步驟S802)。其后,DLL(164)調(diào)用本來應(yīng)該調(diào)用的COM服務(wù)器(165)內(nèi)的MethodAA(168、步驟S804)。如COM服務(wù)器(165)的MethodAA處理(169)結(jié)束,并將控制返回DLL(164)的話,DLL(164)就將返回時的時間保存于內(nèi)存中,將返回值保存于內(nèi)存中,并將返回時的指針參數(shù)指示的內(nèi)存內(nèi)容保存于另一個內(nèi)存中(171)。其后,DLL將保存的運(yùn)行日志信息寫入文件(172、步驟S805)中,像COM服務(wù)器(165)的MethodAA通常結(jié)束那樣返回EXE(163)(173)。圖9為實施方式1的軟件評價系統(tǒng)的內(nèi)部構(gòu)成的示圖。通常,執(zhí)行形式的EXE(176)調(diào)用COM服務(wù)器1(179)及COM服務(wù)器2(180)內(nèi)的方法,此處,嵌入被稱為API追蹤程序(177)的運(yùn)行日志取得代碼,生成處理運(yùn)行日志(178)。API追蹤程序(177),根據(jù)記述COM服務(wù)器1(179)及COM服務(wù)器2(180)的函數(shù)定義文件(174)和通過改寫哪一個COM服務(wù)器的哪一個方法的virtualaddresstable取得運(yùn)行日志的設(shè)定情景(175)而運(yùn)作。從以上的說明可知,根據(jù)本實施方式的運(yùn)行日志取得方法,在取得被分成為多個模塊的軟件的處理運(yùn)行日志中,可不對軟件的模塊本身進(jìn)行改變而將模塊內(nèi)準(zhǔn)備的函數(shù)/方法的調(diào)用作為運(yùn)行日志進(jìn)行記錄,從而可以減少用于取得處理運(yùn)行日志的作業(yè)負(fù)擔(dān)。另外,生成的運(yùn)行日志,可以取得按照時間順序的運(yùn)行日志,由于對運(yùn)行日志的分析變得容易,可以削減用來分析軟件故障原因的工時。在本實施方式中,對通常不能徹底取得的指針·參數(shù)的數(shù)據(jù)作為二進(jìn)制取得運(yùn)行日志的場合予以說明。圖10為本實施方式的軟件評價系統(tǒng)的函數(shù)定義的一例,是利用一般廣泛使用的IDL記述的。在實現(xiàn)本實施方式的運(yùn)行日志取得方法的軟件評價系統(tǒng)中,將此IDL權(quán)標(biāo)(token)化的類型庫文件作為函數(shù)定義文件使用。圖11為在本實施方式的函數(shù)定義中,通過對指針·參數(shù)指定取得二進(jìn)制,將指針·參數(shù)的數(shù)據(jù)的實體作為運(yùn)行日志取得的IDL產(chǎn)生的記述的示圖。在FuncBinidIs函數(shù)的定義中,對long*lplParam聲明custum(PAT_PARAM_ATTR_ID,″binid_is()″)(201)。其中,PAT_PARAM_ATTR_ID(200),是在IDL之中為了本軟件評價系統(tǒng)利用的標(biāo)識符。其中,通過定義″binid_is()″,根據(jù)此參數(shù)指示的指針,將參數(shù)的數(shù)據(jù)型大小(此處是long型)數(shù)量的數(shù)據(jù)作為二進(jìn)制數(shù)據(jù)存儲于運(yùn)行日志中。在FuncSizels函數(shù)的定義中,對int*lplParam聲明custum(PAT_PARAM_ATTR_ID,″size_is(dwCount)″)(202)。其中,通過定義″size_is(dwCount)″,此參數(shù)處理為具有作為第一參數(shù)的dwCount個數(shù)的數(shù)據(jù)。于是,根據(jù)此參數(shù)指示的指針,將(dwCount×參數(shù)的數(shù)據(jù)型大小(此處是int型))數(shù)量的數(shù)據(jù)作為二進(jìn)制數(shù)據(jù)存儲于運(yùn)行日志中。在FuncLengthls函數(shù)的定義中,對char*lpszParam聲明custum(PAT_PARAM_ATTR_ID,″length_is(dwLength)″)(203)。其中,通過定義″length_is(dwLength)″,此參數(shù)處理為具有作為第一參數(shù)的dwLength個數(shù)的數(shù)據(jù)。于是,根據(jù)此參數(shù)指示的指針,將(dwLenth×參數(shù)的數(shù)據(jù)型大小(此處是char型))數(shù)量的數(shù)據(jù)作為二進(jìn)制數(shù)據(jù)存儲于運(yùn)行日志中。在FuncBytesls函數(shù)的定義中,對void*lpParam聲明custum(PAT_PARAM_ATTR_ID,″bytes_is(dwSize)″)(204)。其中,通過定義″bytes_is(dwSize)″,此參數(shù)處理為具有作為第一參數(shù)的dwSize字節(jié)數(shù)量的數(shù)據(jù)。于是,根據(jù)此參數(shù)指示的指針,將dwSize的數(shù)量的數(shù)據(jù)作為二進(jìn)制數(shù)據(jù)存儲于運(yùn)行日志中。在FuncBytesls2函數(shù)的定義中,對void*lpParam聲明custum(PAT_PARAM_ATTR_ID,″bytes_is(12)″)(205)。其中,通過定義″bytes_is(12)″,此參數(shù)處理為具有指定的12字節(jié)數(shù)量的數(shù)據(jù)。于是,根據(jù)此參數(shù)指示的指針,將12字節(jié)的數(shù)量的數(shù)據(jù)作為二進(jìn)制數(shù)據(jù)存儲于運(yùn)行日志中。圖12為在本實施方式的軟件評價系統(tǒng)中,如圖11那樣地取得函數(shù)定義時的運(yùn)行日志的場合的流程圖。處理一開始(步驟S1201),開始取得運(yùn)行日志,將模塊名、接口名、函數(shù)/方法名保存于HDD中(步驟S1202)。其次,運(yùn)行日志取得代碼,將調(diào)用時的時間、參數(shù)及指針·參數(shù)指示的內(nèi)存的內(nèi)容保存于HDD中(步驟S1203)。于是,判斷在函數(shù)定義中是否存在二進(jìn)制取得的設(shè)定(步驟S1204),如存在的話,對保存的內(nèi)存大小以各個定義方法(binid_is、size_is、length_is、bytes_is)為單位進(jìn)行計算(步驟S1205),將指針·參數(shù)指示的內(nèi)存的內(nèi)容保存于算出的大小量的HDD中(步驟S1206)。接著,調(diào)用原來的函數(shù)(步驟S1207)。如從函數(shù)返回,運(yùn)行日志取得代碼將返回時的時間、返回值及指針·參數(shù)指示的內(nèi)存的內(nèi)容保存于HDD中(步驟S1208)。于是,判斷在函數(shù)定義中是否存在二進(jìn)制取得的設(shè)定(步驟S1209),如存在的話,對保存的內(nèi)存大小以各個定義方法(binid_is、size_is、length_is、bytes_is)為單位進(jìn)行計算(步驟S1210),將指針·參數(shù)指示的內(nèi)存的內(nèi)容保存于算出的大小量的HDD中(步驟S1211)。如果有來自用戶的終止命令(步驟S1212),該處理就終止。圖13為在本實施方式的中,利用圖11的定義取得的運(yùn)行日志數(shù)據(jù)的示圖。根據(jù)函數(shù)定義,在沒有二進(jìn)制取得的設(shè)定的場合而可以取得的運(yùn)行日志(210)是去掉DatalD的部分。于是,在進(jìn)行二進(jìn)制取得的設(shè)定的場合,可以取得DatalD及二進(jìn)制數(shù)據(jù)的運(yùn)行日志(211)。比如,如比較FuncSizels的運(yùn)行日志,在沒有二進(jìn)制取得的設(shè)定的場合,指針·參數(shù)lpParam指示的數(shù)據(jù)以int型只可能取得1個的量??墒牵瑢嶋H上,此數(shù)據(jù)指示的是10個int型數(shù)據(jù)的數(shù)組。因此,在有二進(jìn)制取得的設(shè)定的場合,可以取得的int型數(shù)據(jù)的大小為4字節(jié)×10個的量,即共計40字節(jié)的數(shù)據(jù)。從以上的說明可知,根據(jù)本實施方式,通過將大小和指針·參數(shù)相關(guān)聯(lián),通常不能徹底取得的指針·參數(shù)的數(shù)據(jù)作為二進(jìn)制的運(yùn)行日志取得是可能的。在本實施方式中,對回叫函數(shù)等不輸出函數(shù)作為運(yùn)行日志取得的場合予以說明。圖14為在本實施方式的函數(shù)定義中,用來將回叫函數(shù)等的不輸出函數(shù)作為運(yùn)行日志取得的IDL產(chǎn)生的記述的示圖。在SetCallBack函數(shù)的定義中,對DWORDpfnFuncCallBack聲明custum(PAT_PARAM_ATTR_ID,″funcname_is(FuncCallBack)″)(221)。SetCallBack函數(shù),是對模塊設(shè)定回叫函數(shù)的函數(shù),DWORDpfnFuncCallBack是用來設(shè)定該回叫函數(shù)的地址的參數(shù)。其中,通過定義″funcname_is(FuncCallBack)″,運(yùn)行日志取得處理,將傳送給此參數(shù)的值識別為FuncCallBack函數(shù)(222)的地址,并置換為運(yùn)行日志取得處理的地址。另外,為了在運(yùn)行日志取得處理時調(diào)用原來的回叫函數(shù),將原始值予以保存。由此,可以取得不輸出的回叫函數(shù)的運(yùn)行日志。在GetFuncPointer函數(shù)的定義中,對DWORDpfnFuncInternal聲明custum(PAT_PARAM_ATTR_ID,″funcname_is(FuncInternal)″)(223)。GetFuncPointer函數(shù),是取得模塊內(nèi)部的不輸出的函數(shù)的指針的函數(shù),DWORDpfnFuncInternal是用來取得該不輸出函數(shù)的指針的參數(shù)。其中,通過定義″funcname_is(FuncIntenal)″,運(yùn)行日志取得處理,將傳送給此參數(shù)的值識別為FuncIntenal函數(shù)(224)的地址,并置換為運(yùn)行日志取得處理的地址。另外,為了在運(yùn)行日志取得處理時調(diào)用原來的回叫函數(shù),將原始值予以保存。由此,可以取得不輸出的回叫函數(shù)的運(yùn)行日志。GetFuncPointeArray函數(shù)(225)是用來在FUNCPOINTERARRAY結(jié)構(gòu)體(220)中取得模塊內(nèi)部的不輸出的函數(shù)群的地址的函數(shù)。其中,對FUNCPOINTERARRAY的各成員的定義聲明custum(PAT_PARAM_ATTR_ID,″Funcname_is(FuncIntenal1~4)″)。其中,通過定義″funcname_is(FuncIntenal1~4)″,將傳送給此結(jié)構(gòu)體的成員的值識別為FuncIntenal1~4函數(shù)(226)的地址,并置換為運(yùn)行日志取得處理的地址。另外,為了在運(yùn)行日志取得處理時調(diào)用原來的非輸出函數(shù),將原始值予以保存。由此,可以取得不輸出的模塊內(nèi)部的函數(shù)組的運(yùn)行日志。圖15為本實施方式的軟件評價系統(tǒng)的內(nèi)存構(gòu)成的示圖,與圖3的不同之處在于增加了隱函數(shù)的運(yùn)行日志取得用的代碼。在A.DLL中的FuncAD(231)是不輸出函數(shù),因此,在ImportAddressTable(230)中也不存在。如此時對FuncAD定義funcname_is,在C.DLL中生成運(yùn)行日志取得用的FuncCAD(232),在由本來的FuncAD的地址置換以返回的funcname_is定義的參數(shù)的值時,可使用FuncAD的地址。圖16為在本實施方式的軟件評價系統(tǒng)中,如圖14那樣取得函數(shù)定義時的運(yùn)行日志的場合的流程圖。處理一開始(步驟S1601),開始取得運(yùn)行日志,將模塊名、接口名、函數(shù)/方法名保存于HDD中(步驟S1602)。其次,運(yùn)行日志取得代碼將調(diào)用時的時間、參數(shù)及指針·參數(shù)指示的內(nèi)存的內(nèi)容保存于HDD中(步驟S1603)。于是,判斷在函數(shù)定義中是否存在funcname_is的設(shè)定(步驟S1604),如存在的話,從函數(shù)定義文件中取得由funcname_is定義的函數(shù)定義,根據(jù)該定義生成運(yùn)行日志取得處理用的代碼(步驟S1605)。于是,保存funcname_is定義的值,并置換成生成的運(yùn)行日志取得代碼的地址(步驟S1606)。接著,調(diào)用原來的函數(shù)(步驟S1607)。如從函數(shù)返回的話,運(yùn)行日志取得代碼將返回時的時間、返回值及指針·參數(shù)指示的內(nèi)存的內(nèi)容保存于HDD中(步驟S1608)。于是,判斷在函數(shù)定義中是否存在funcname_is的設(shè)定的設(shè)定(步驟S1609),如存在的話,從函數(shù)定義文件中取得由funcname_is定義的函數(shù)定義,根據(jù)該定義生成運(yùn)行日志取得處理用的代碼(步驟S1610)。于是,保存funcname_is定義的值,置換生成的運(yùn)行日志取得代碼的地址(步驟S1611)。如果有來自用戶的終止命令(步驟S1612),該處理就終止。如由funcname_is設(shè)定的參數(shù)置換生成的運(yùn)行日志取得代碼的地址,其后使用該地址調(diào)用的原來的函數(shù)進(jìn)行與通常的運(yùn)行日志同樣的處理(即生成的運(yùn)行日志取得代碼,調(diào)用不輸出的函數(shù),執(zhí)行處理,在傳送所接收的執(zhí)行結(jié)果的同時,將調(diào)用不輸出的函數(shù)之際的規(guī)定信息和接收執(zhí)行結(jié)果之際的規(guī)定信息作為運(yùn)行日志予以記錄。圖17為在本實施方式所軟件評價系統(tǒng)中,在不進(jìn)行圖14的定義的場合取得的運(yùn)行日志數(shù)據(jù)的示圖。在函數(shù)定義文件中不進(jìn)行設(shè)定的場合,不能取得回叫函數(shù)、不輸出的內(nèi)部函數(shù)的運(yùn)行日志。圖18為在本實施方式的軟件評價系統(tǒng)中,利用圖14的定義取得的運(yùn)行日志數(shù)據(jù)的示圖。因為在函數(shù)定義文件中,設(shè)定成為取得回叫函數(shù)、不輸出的內(nèi)部函數(shù),所以可以取得SetCallBack函數(shù)、FuncIntenal函數(shù)、FuncIntenal4函數(shù)等非輸出函數(shù)的運(yùn)行日志。這樣,根據(jù)本實施方式,就可以產(chǎn)生可取得以通常的方法不能取得的非輸出函數(shù)的運(yùn)行日志的效果。在本實施方式中,說明作為在通常的方法中不能取得的非輸出函數(shù)的運(yùn)行日志取得可變長數(shù)組的參數(shù)的運(yùn)行日志的情況。圖19為在本實施方式的函數(shù)定義中,用來將可變長數(shù)組的參數(shù)作為運(yùn)行日志取得的IDL產(chǎn)生的記述的示圖。在FuncArrayls函數(shù)的定義中,對int*lpnParam聲明custum(PAT_PARAM_ATTR_ID,″array_is(dwCount)″)(240)。其中,通過定義″array_is(dwCount)″,此指針·參數(shù)處理為作為第一參數(shù)的dwCount個數(shù)的int型數(shù)組。于是,將此指針·參數(shù)指示的指針作為int型的dwCount個數(shù)組,將數(shù)據(jù)存儲于運(yùn)行日志中。圖20為在本實施方式的軟件評價系統(tǒng)中,如圖19所示那樣取得定義函數(shù)時的運(yùn)行日志的場合的流程圖。處理一開始(步驟S2001),開始取得運(yùn)行日志,將模塊名、接口名、函數(shù)/方法名保存于HDD中(步驟S2002)。其次,判斷在函數(shù)定義中是否存在可變長數(shù)組取得(array_is)的設(shè)定(步驟S2003),如存在的話,將指針·參數(shù)定義的參數(shù)作為數(shù)組的定義進(jìn)行處理(步驟S2004)、將調(diào)用時的時間、參數(shù)及指針·參數(shù)指示的內(nèi)存的內(nèi)容保存于HDD中(步驟S2005)。于是,接著,調(diào)用原來的函數(shù)(步驟S2006)。如從函數(shù)返回,運(yùn)行日志取得編碼判斷在函數(shù)定義中是否存在可變長數(shù)組取得(array_is)的設(shè)定(步驟S2007),如存在的話,將由指針·參數(shù)定義的參數(shù)定義為數(shù)組(步驟S2008),將返回時的時間、返回值及指針·參數(shù)指示的內(nèi)存的內(nèi)容存儲于HDD中(步驟S2009)。如果有來自用戶的終止命令(步驟S2010),該處理就終止。圖21為在本實施方式的軟件評價系統(tǒng)中,在圖19不進(jìn)行定義的場合取得的運(yùn)行日志數(shù)據(jù)(250)和利用圖19的定義取得的運(yùn)行日志數(shù)據(jù)(251)的示圖。在函數(shù)定義文件中不進(jìn)行設(shè)定的場合,因為指針·參數(shù)不作為數(shù)組進(jìn)行處理,在運(yùn)行日志數(shù)據(jù)(250)中,只取得前頭的數(shù)據(jù),而在函數(shù)定義文件中進(jìn)行設(shè)定的場合,由于指針·參數(shù)作為數(shù)組處理,在運(yùn)行日志數(shù)據(jù)(251)中,可取得數(shù)組的所有數(shù)據(jù)。這樣,根據(jù)本實施方式,就可以達(dá)到可取得可變長數(shù)組的參數(shù)的運(yùn)行日志作為在通常的方法中不能取得的函數(shù)的運(yùn)行日志的效果。在本實施方式說明在通常的函數(shù)定義中對不能取得參數(shù)的函數(shù)取得運(yùn)行日志的情況。圖22為在本實施方式的軟件評價系統(tǒng)中,在通常的函數(shù)定義中,不能取得參數(shù)的函數(shù)的例子的示圖。作為結(jié)構(gòu)體,定義STRUCTSIZE1、STRUCTSIZE2、STRUCTSIZE3等3種,在各結(jié)構(gòu)體的DWORDdwSize成員中,必須加入自己本身的結(jié)構(gòu)體的大小。FuncGetData函數(shù)設(shè)定第一參數(shù)dwKind和設(shè)定把上述3種的哪一種結(jié)構(gòu)體的指針?biāo)偷降诙?shù)lpBuf中。FuncGetData函數(shù),當(dāng)?shù)谝粎?shù)為1的場合,將lpBuf作為STRUCTSIZE1的指針進(jìn)行處理,當(dāng)?shù)谝粎?shù)為2的場合,將lpBuf作為STRUCTSIZE2的指針進(jìn)行處理,而當(dāng)?shù)谝粎?shù)為3的場合,將lpBuf作為STRUCTSIZE3的指針進(jìn)行處理。在此場合,如利用通常的函數(shù)定義去定義FuncGetData,lpBuf變成為void型的指針,不能取得數(shù)據(jù)。圖23為在圖22中STRUCTSIZE1、STRUCTSIZE2、STRUCTSIZE3各結(jié)構(gòu)體如何使用內(nèi)存的內(nèi)存圖。結(jié)構(gòu)體STRUCTSIZE1(260)的各成員在偏移量0×0000處有DWORDdwSize(261)、在0×0004處有DWORDdwParam1(262)、在0×0008處有DWORDdwParam2(263)、在0×000C處有DWORDdwParam3(264)。結(jié)構(gòu)體STRUCTSIZE2(265),一直到DWORDdwSize~DWORDdwParam3(266~269)為止,與STRUCTSIZE1一樣,在0×0010處有DWORDdwParam4(270)。結(jié)構(gòu)體STRUCTSIZE3(271),一直到DWORDdwSize~DWORDdwParam4(272~276)為止,與STRUCTSIZE2一樣,在0×0014處有DWORDdwParam5(277)。這樣,一直到STRUCTSIZE3的dwSize~dwParam4為止的內(nèi)存配置與STRUCTSIZE2一樣,一直到STRUCTSIZE2的dwSize~dwParam3為止的內(nèi)存配置與STRUCTSIZE1一樣。圖24為在本實施方式的軟件評價系統(tǒng)中,用來取得圖22那樣的函數(shù)的參數(shù)的運(yùn)行日志的IDL產(chǎn)生的記述的示圖。在原來的函數(shù)中,是將分成為STRUCTSIZE1、STRUCTSIZE2、STRUCTSIZE3的結(jié)構(gòu)體作為STRUCTSIZE這樣的一個結(jié)構(gòu)體定義的(291)。此定義與STRUCTSIZE3一樣,這是因為從圖23中的內(nèi)存配置可知,STRUCTSIZE3保持與STRUCTSIZE1、STRUCTSIZE2同樣的內(nèi)存配置之故。于是,對于表示此結(jié)構(gòu)體的項的結(jié)構(gòu)體的大小的DWORDdwSize,設(shè)定[custum(PAT_PARAM_ID,″strucsize_is()″)](290)。在這一點(diǎn)上,運(yùn)行日志取得處理在進(jìn)行結(jié)構(gòu)體的數(shù)據(jù)分析時,可能了解結(jié)構(gòu)體的大小。并且,在FuncGetData函數(shù)中,將第二參數(shù)的lpBuf作為STRUCTSIZE型定義(292)。這樣一來,在將此參數(shù)作為運(yùn)行日志保存的場合,作為STRUCTSIZE型進(jìn)行處理。假設(shè),不采用本法,在函數(shù)定義文件中進(jìn)行記述以取得STRUCTSIZE3的數(shù)據(jù)的場合,在以dwKind=1及2調(diào)用GetFuncData的場合,由于存在STRUCTSIZE1及STRUCTSIZE2的數(shù)據(jù),為了要在運(yùn)行日志中取得dwParam3及dwParam4的數(shù)據(jù),發(fā)生內(nèi)存例外。圖25為在本實施方式的軟件評價系統(tǒng)中,取得以如圖所示方式定義函數(shù)時的運(yùn)行日志的場合的流程圖。處理一開始(步驟S2501),開始取得運(yùn)行日志,將模塊名、接口名、函數(shù)/方法名保存于HDD中(步驟S2502)。其次,判斷在函數(shù)定義中是否存在結(jié)構(gòu)體的大小指定(structsize_is)的設(shè)定(步驟S2503),在存在的場合,對設(shè)定的結(jié)構(gòu)體參數(shù)的數(shù)據(jù)在大小指定(structsize_is)的設(shè)定所定義的數(shù)據(jù)大小范圍內(nèi)進(jìn)行分析(步驟S2504)。于是,將調(diào)用時的時間、參數(shù)及指針·參數(shù)指示的內(nèi)存的內(nèi)容保存于HDD中(步驟S2505)。于是,接著,調(diào)用原來的函數(shù)(步驟S2506)。如從函數(shù)返回,判斷在函數(shù)定義中是否存在結(jié)構(gòu)體的大小指定(structsize_is)的設(shè)定(步驟S2507),如存在的話,對設(shè)定的結(jié)構(gòu)體參數(shù)的數(shù)據(jù)在大小指定(structsize_is)的設(shè)定所定義的數(shù)據(jù)大小范圍內(nèi)進(jìn)行分析(步驟S2508)。于是,將返回時的時間、返回值及指針·參數(shù)指示的內(nèi)存的內(nèi)容存儲于HDD中(步驟S2509)。如果有來自用戶的終止命令(步驟S2510),該處理就終止。圖26為根據(jù)內(nèi)存配置表示在圖25中進(jìn)行的結(jié)構(gòu)體參數(shù)分析的細(xì)節(jié)的示圖。在實際的程序中以dwKind=1使用GetFuncData的場合,使用STRUCTSIZE1結(jié)構(gòu)體(300),該時的各成員(301~304)的內(nèi)存的使用如圖所示。在如圖24那樣進(jìn)行函數(shù)定義的場合,在本軟件評價系統(tǒng)中,被當(dāng)作STRUCTSIZE結(jié)構(gòu)體(305)進(jìn)行識別,該時的各成員(306~311)的內(nèi)存使用推測為如圖所示。于是,在存在大小指定(structsize_is)的設(shè)定的場合,通過調(diào)查dwSize的值,可以了解到結(jié)構(gòu)體的大小為dwSize字節(jié),在STRUCTSIZE之中,只將dwSize字節(jié)數(shù)量(312)的數(shù)據(jù)作為運(yùn)行日志取得。圖27為在本實施方式的軟件評價系統(tǒng)中,利用圖24的定義取得的運(yùn)行日志數(shù)據(jù)的示圖。在通常的函數(shù)定義中為void*,只能夠取得指針的結(jié)構(gòu)體的數(shù)據(jù),可通過使用的結(jié)構(gòu)體的種類,作為運(yùn)行日志取得該結(jié)構(gòu)體的數(shù)據(jù)。這樣,根據(jù)本實施方式,就可以達(dá)到可以取得在通常的方法中不能取得的參數(shù)的運(yùn)行日志的效果。圖28為在本實施方式的軟件評價系統(tǒng)中,在通常的函數(shù)定義中,不能取得參數(shù)的函數(shù)的例子的示圖。作為結(jié)構(gòu)體,定義STRUCTSIZE1、STRUCTSIZE2、STRUCTSIZE3等3種。FuncGetData函數(shù),在第一參數(shù)dwKind中設(shè)定將上述3種的哪一個結(jié)構(gòu)體的指針發(fā)送給第二參數(shù)lpBuf。FuncGetData函數(shù)當(dāng)?shù)谝粎?shù)為1的場合,將lpBuf作為STRUCTSIZE1的指針進(jìn)行處理,當(dāng)?shù)谝粎?shù)在2的場合,將lpBuf作為STRUCTSIZE2的指針進(jìn)行處理,而當(dāng)?shù)谝粎?shù)在3的場合,將lpBuf作為STRUCTSIZE3的指針進(jìn)行處理。在此場合,如利用通常的函數(shù)定義去定義FuncGetData,lpBuf變成為void型的指針,不能取得數(shù)據(jù)。圖29為在圖28中STRUCTSIZE1、STRUCTSIZE2、STRUCTSIZE3等各結(jié)構(gòu)體如何配置內(nèi)存的示圖。結(jié)構(gòu)體STRUCTSIZE1(330)的各成員,在偏移量0×0000處有charchParam(331)、在0×0001處有DWORDdwParam(332)、在0×0005處有shortshParam(333)。結(jié)構(gòu)體STRUCTSIZE2(334)的各成員在偏移量0×0000處有shortshParam(335)、在0×0002處有DWORDdwParam(336)、在0×0006處有charchParam(337)。結(jié)構(gòu)體STRUCTSIZE3(338)的各成員在偏移量0×0000處有charchParam(339)、在0×0001處有shortshParam(340)、在0×0003處有DWORDdwParam(341)、在0×0007處有l(wèi)ongIParam(342)、在0×000B處有intnParam。這樣,由于在各結(jié)構(gòu)體中沒有大小的信息,結(jié)構(gòu)體的內(nèi)存結(jié)構(gòu)也不同,所以不能使用在實施方式5中的方法。圖30為在本實施方式=6的軟件評價系統(tǒng)中,用來取得圖28那樣的函數(shù)的參數(shù)的運(yùn)行日志的IDL產(chǎn)生的記述的示圖。各結(jié)構(gòu)體,以通常的方法定義。對于FuncgetData函數(shù)的第二參數(shù)void*lpParam設(shè)定[custum(PAT_PARAM_ATTR_ID,″structkind_is(dwKind1STRUCTKIND1*,2STRUCTKIND2*,STRUCTKIND3*)″)]。由此,lpBuf的數(shù)據(jù)型,在第一參數(shù)dwKind的值為1的場合,作為STRUCTKIND1*,在2的場合作為STRUCTKIND2*,在3的場合作為STRUCTKIND3*進(jìn)行處理,并作為運(yùn)行日志保存。圖31為在本實施方式的軟件評價系統(tǒng)中,取得如圖30那樣定義函數(shù)時的運(yùn)行日志的場合的流程圖。處理一開始(步驟S3101),開始取得運(yùn)行日志,將模塊名、接口名、函數(shù)/方法名保存于內(nèi)存中(步驟S3102)。其次,判斷在函數(shù)定義中是否存在結(jié)構(gòu)體的種類指定(structkind_is)的設(shè)定(步驟S3103),如存在的話,對設(shè)定的結(jié)構(gòu)體參數(shù)的數(shù)據(jù)作為種類指定(structkind_is)的設(shè)定所定義的數(shù)據(jù)型進(jìn)行分析(步驟S3104)。于是,將調(diào)用時的時間、參數(shù)及指針·參數(shù)指示的內(nèi)存的內(nèi)容保存于內(nèi)存中(步驟S3105)。于是,接著,調(diào)用原來的函數(shù)(步驟S3106)。如從函數(shù)返回,判斷在函數(shù)定義中是否存在結(jié)構(gòu)體的種類指定(structkind_is)的設(shè)定(步驟S3107),如存在的話,對設(shè)定的結(jié)構(gòu)體參數(shù)的數(shù)據(jù)作為種類指定(structkind_is)的設(shè)定所定義的數(shù)據(jù)型進(jìn)行分析(步驟S3108)。于是,將返回時的時間、返回值及指針·參數(shù)指示的內(nèi)存的內(nèi)容存儲于內(nèi)存中(步驟S3109)。如果有來自用戶的終止命令(步驟S3110),該處理就終止。圖32為在本實施方式中,利用圖30的定義取得的運(yùn)行日志數(shù)據(jù)的示圖。通常的函數(shù)定義為void*,只有能夠取得指針的結(jié)構(gòu)體的數(shù)據(jù),可根據(jù)使用的結(jié)構(gòu)體的種類,將該結(jié)構(gòu)體的數(shù)據(jù)作為運(yùn)行日志取得。這樣,根據(jù)本實施方式,就可以獲得可以取得在通常的方法中不能取得的參數(shù)的運(yùn)行日志的效果。在本實施方式中,對根據(jù)進(jìn)行用于運(yùn)行日志取得的各種設(shè)定的用戶接口和以該用戶接口設(shè)定的信息進(jìn)行的處理予以說明。圖33為用來設(shè)定開始實施方式7的運(yùn)行日志取得的函數(shù)/方法的用戶接口的示圖。在用戶接口中,具有從變成為運(yùn)行日志取得對象的模塊/接口(350)選擇設(shè)定哪一個模塊/接口的下拉表(352、353)和從利用該處選擇的模塊/接口輸出的函數(shù)/方法(351)選擇設(shè)定哪一個函數(shù)/方法作為運(yùn)行日志取得開始觸發(fā)器的下拉表(354、355)。圖34為在實施方式7的軟件評價系統(tǒng)中,按照圖33中設(shè)定的內(nèi)容取得運(yùn)行日志的場合的流程圖。處理一開始(步驟S3401),判斷是否將運(yùn)行日志取得代碼所調(diào)用的函數(shù)/方法設(shè)定為運(yùn)行日志取得開始觸發(fā)器(步驟S3402)。在與運(yùn)行日志取得開始觸發(fā)器一致的場合,運(yùn)行日志取得開始,將模塊名、接口名、函數(shù)/方法名保存于HDD中(步驟S3403)。其次,運(yùn)行日志取得代碼,將調(diào)用時的時間、參數(shù)及指針·參數(shù)指示的內(nèi)存的內(nèi)容保存于HDD中(步驟S3404),調(diào)用原來的函數(shù)/方法(步驟S3405)。如從函數(shù)/方法返回,運(yùn)行日志取得代碼將返回時的時間、返回值及指針·參數(shù)指示的內(nèi)存的內(nèi)容存儲于HDD中(步驟S3406)。此處理一直進(jìn)行到有來自用戶的終止命令(步驟S3407)為止,此時,不進(jìn)行運(yùn)行日志取得開始觸發(fā)器的判斷。從以上的說明可知,根據(jù)本實施方式,由于可以任意選擇進(jìn)行運(yùn)行日志取得的函數(shù)/方法,可以獲得運(yùn)行日志分析變得很容易的效果。在上述實施方式7中,是假設(shè)用戶可以任意選擇取得運(yùn)行日志的函數(shù)/方法,在本實施方式中,假設(shè)用戶可以任意選擇停止取得運(yùn)行日志的函數(shù)/方法。圖35為本實施方式的用來設(shè)定停止運(yùn)行日志取得的函數(shù)/方法的用戶接口的示圖。在用戶接口中,具有從變成為運(yùn)行日志取得對象的模塊/接口(356)選擇設(shè)定哪一個模塊/接口的下拉表(358、359)和從利用該處選擇的模塊/接口輸出的函數(shù)/方法(357)選擇設(shè)定哪一個函數(shù)/方法作為運(yùn)行日志停止取得開始的觸發(fā)器的下拉表(360、361)。圖36為在本實施方式的軟件評價系統(tǒng)中,按照圖35中設(shè)定的內(nèi)容取得運(yùn)行日志的場合的流程圖。處理一開始(步驟S3601),運(yùn)行日志取得開始,將模塊名、接口名、函數(shù)/方法名保存于HDD中(步驟S3602)。其次,運(yùn)行日志取得代碼,將調(diào)用時的時間、參數(shù)及指針·參數(shù)指示的內(nèi)存的內(nèi)容保存于HDD中(步驟S3603),調(diào)用原來的函數(shù)/方法(步驟S3604)。如從函數(shù)/方法返回,運(yùn)行日志取得代碼,將返回時的時間、返回值及指針·參數(shù)指示的內(nèi)存的內(nèi)容存儲于HDD中(步驟S3605)。之后判斷是否將調(diào)用的函數(shù)/方法設(shè)定為運(yùn)行日志取得停止觸發(fā)器(步驟S3606)。在與運(yùn)行日志取得停止觸發(fā)器一致的場合,運(yùn)行日志取得處理結(jié)束(步驟S3607)。并且,即使是與運(yùn)行日志取得停止觸發(fā)器不一致的場合,在有來自用戶的終止命令時(步驟S3606),該處理將終止。據(jù)此,由于可以停止任意設(shè)定的函數(shù)/方法的運(yùn)行日志的取得,可以只取得用戶要求的運(yùn)行日志,所以獲得運(yùn)行日志分析變得很容易的效果。在上述實施方式7及8中敘述的用戶接口中,用戶可以利用用戶選擇的任意函數(shù)/方法開始/停止運(yùn)行日志的取得,但也可以設(shè)定為用戶選擇的任意函數(shù)/方法只在錯誤終止的場合開始/停止運(yùn)行日志的取得。圖37為對用來設(shè)定本實施方式的開始/停止運(yùn)行日志的取得的函數(shù)/方法的用戶接口增加設(shè)定只在錯誤終止的場合使用觸發(fā)功能(運(yùn)行日志取得開始/停止功能)的用戶接口的示圖。本用戶接口,可適用于圖33及圖35兩者。在用戶接口中,具有從變成為運(yùn)行日志取得對象的模塊/接口(362)選擇設(shè)定哪一個模塊/接口的下拉表(364、365)和從利用該處選擇的模塊/接口輸出的函數(shù)/方法(363)選擇設(shè)定哪一個函數(shù)/方法作為觸發(fā)器的下拉表(366、367)以及函數(shù)/方法只在錯誤終止的場合使觸發(fā)功能有效的復(fù)選框(368)。圖38為本實施方式的函數(shù)/方法的錯誤定義的內(nèi)容的示圖。在本實施方式中,錯誤定義是一個文件,在文件中對各函數(shù)/方法的參數(shù)及返回值和錯誤條件進(jìn)行定義和記述。圖39為本實施方式軟件評價系統(tǒng)的取得運(yùn)行日志的場合的流程圖,是按照在圖37中設(shè)定的內(nèi)容,同時使用運(yùn)行日志取得開始和只在錯誤時使用的觸發(fā)器的功能進(jìn)行設(shè)定的場合。處理一開始(步驟S3901),判斷是否將運(yùn)行日志取得代碼所調(diào)用的函數(shù)/方法設(shè)定為運(yùn)行日志取得開始觸發(fā)器(步驟S3902)。在設(shè)定為運(yùn)行日志取得開始觸發(fā)器的場合,將模塊名、接口名、函數(shù)/方法名臨時保存于內(nèi)存中(步驟S3903)。其次,運(yùn)行日志取得代碼,將調(diào)用時的時間、參數(shù)及指針·參數(shù)指示的內(nèi)存的內(nèi)容臨時保存于內(nèi)存中(步驟S3904),調(diào)用原來的函數(shù)/方法(步驟S3905)。如從函數(shù)/方法返回,運(yùn)行日志取得代碼,將返回時的時間、返回值及指針·參數(shù)指示的內(nèi)存的內(nèi)容臨時存儲于內(nèi)存中(步驟S3906)。其次,判斷運(yùn)行日志取得開始觸發(fā)器是否只在錯誤時使用(步驟S3907),如是,就判斷函數(shù)/方法是否錯誤(步驟S3908)。假如不是錯誤的場合,就將臨時保存于內(nèi)存中的運(yùn)行日志棄掉(步驟S3909)并返回到處理開始。在函數(shù)/方法是錯誤的場合,就將臨時保存于內(nèi)存中的運(yùn)行日志保存到HDD中(步驟S3910),繼續(xù)進(jìn)行通常的運(yùn)行日志取得處理(步驟S3911)。此處理一直進(jìn)行到有來自用戶的終止命令(步驟S3912)為止。圖40為圖39的步驟3911所示的通常的運(yùn)行日志取得處理的詳細(xì)流程圖。處理一開始(步驟S4001),運(yùn)行日志取得開始,將模塊名、接口名、函數(shù)/方法名保存于HDD中(步驟S4002)。其次,運(yùn)行日志取得代碼,將調(diào)用時的時間、參數(shù)及指針·參數(shù)指示的內(nèi)存的內(nèi)容保存于HDD中(步驟S4003),調(diào)用原來的函數(shù)/方法(步驟S4004)。如從函數(shù)/方法返回,運(yùn)行日志取得代碼,將返回時的時間、返回值及指針·參數(shù)指示的內(nèi)存的內(nèi)容存儲于HDD中(步驟S4005)。圖41為取得本實施方式的軟件評價系統(tǒng)的運(yùn)行日志的場合的流程圖,是按照在圖37中設(shè)定的內(nèi)容,同時使用運(yùn)行日志取得停止和只在錯誤時使用觸發(fā)器的功能進(jìn)行設(shè)定的場合。處理一開始(步驟S4101),運(yùn)行日志取得開始,將模塊名、接口名、函數(shù)/方法名保存于HDD中(步驟S4102)。其次,運(yùn)行日志取得代碼,將調(diào)用時的時間、參數(shù)及指針·參數(shù)指示的內(nèi)存的內(nèi)容保存于HDD中(步驟S4103),調(diào)用原來的函數(shù)/方法(步驟S4104)。如從函數(shù)/方法返回,運(yùn)行日志取得代碼,將返回時的時間、返回值及指針·參數(shù)指示的內(nèi)存的內(nèi)容存儲于HDD中(步驟S4105)。之后,判斷是否將調(diào)用的函數(shù)/方法設(shè)定為運(yùn)行日志取得停止觸發(fā)器(步驟S4106)。在與運(yùn)行日志取得停止觸發(fā)器一致的場合,其次判斷運(yùn)行日志取得停止觸發(fā)器是否只在錯誤時使用(步驟S4107),如是,就判斷函數(shù)/方法是否錯誤(步驟S4108)。假如是錯誤的場合,運(yùn)行日志取得處理結(jié)束(步驟S4109)。另外,在有來自用戶的終止命令時(步驟S4110),該處理將終止。由此,就可以從在任意函數(shù)/方法發(fā)生錯誤的場合開始或停止取得運(yùn)行日志,可以取得用戶要求的運(yùn)行日志,也可以獲得很容易對運(yùn)行日志進(jìn)行分析的效果。上述實施方式7至9的用戶接口,不過是將可選的函數(shù)/方法以規(guī)定的順序排列而已,也可以將接口、方法的關(guān)系表示為容易掌握的樹形顯示。圖42為對本發(fā)明的實施方式10的接口和方法進(jìn)行樹形顯示的用戶接口的示圖。在用戶接口中備有用來將接口及方法顯示為樹形的視圖(380)。如用戶選中接口InterfaceA(381),就可以將該接口內(nèi)的全部方法MethodAA、MethodAB、MethodAC(382~384)全部選中,成為運(yùn)行日志的取得對象。另外,通過取消接口InterfaceB(385)的選中,就可以全部解除該接口內(nèi)的全部方法MethodBA、MethodBB、MethodBC(385~388)的選擇,不再是運(yùn)行日志取得對象。圖43為本實施方式的軟件評價系統(tǒng)在如圖42選擇取得對象的場合取得運(yùn)行日志之際的處理的流程圖。處理一開始(步驟S4301),每當(dāng)運(yùn)行日志取得代碼調(diào)用接口的某一方法時,都判斷該方法的接口是否成為運(yùn)行日志取得對象(步驟S4302)。在成為運(yùn)行日志取得對象的場合,將模塊名和接口、方法名保存于HDD中(步驟S4303)。其次,運(yùn)行日志取得代碼將調(diào)用時的時間、參數(shù)及指針·參數(shù)指示的內(nèi)存的內(nèi)容保存于HDD中(步驟S4304),調(diào)用原來的函數(shù)/方法(步驟S4305)。如從方法返回,運(yùn)行日志取得代碼將返回時的時間、返回值及指針·參數(shù)指示的內(nèi)存的內(nèi)容存儲于HDD中(步驟S4306)。此處理一直進(jìn)行到有來自用戶的終止命令時(步驟S4307)而終止。據(jù)此,可以更簡便地了解接口、方法的關(guān)系,并且,可以更容易選擇想要取得的運(yùn)行日志,使用戶的取得所要求的運(yùn)行日志的方法更為簡單。在上述實施方式7至10中,是假設(shè)在選擇任意的方法時,以接口單位進(jìn)行選擇,此外,也可以以方法單位進(jìn)行選擇。圖44為將本實施方式的接口和方法進(jìn)行樹形顯示的用戶接口的示圖,雖與圖42一樣,但選擇方法不同。在用戶接口中備有用來將接口及方法顯示為樹形的視圖(389)。如用戶通過選中方法MethodAA(391)、MethodAC(393)、MethodBA(3395),不選MethodAB(392)、MethodBB(396)、MethodBC(397),就可以不是以InterfaceA(390)、InterfaceB(394)內(nèi)的全部方法,而只是以各進(jìn)口內(nèi)選中的方法作為運(yùn)行日志取得對象。圖45為本實施方式的軟件評價系統(tǒng)在如圖44選擇取得對象的場合取得運(yùn)行日志之際的處理的流程圖。處理一開始(步驟S4501),每當(dāng)運(yùn)行日志取得代碼調(diào)用接口的某一方法時,都判斷該接口的方法是否成為運(yùn)行日志取得對象(步驟S4502)。在成為運(yùn)行日志取得對象的場合,將模塊名和接口、方法名保存于HDD中(步驟S4503)。以下與實施方式10相同。據(jù)此,就可以不是在每個接口的很大的范圍內(nèi)進(jìn)行選擇,可以以方法單位更容易地分別選擇想要取得的方法獲得使用戶的取得所要求的運(yùn)行日志的方法更為簡單的效果。在上述實施方式中,取得的運(yùn)行日志是保存于HDD中的任意地點(diǎn),但也可以連日期一起保存以便可以更容易對運(yùn)行日志進(jìn)行分析。圖46為將運(yùn)行日志連日期一起進(jìn)行分割保存的場合的處理的流程圖。處理一開始(步驟S4601),運(yùn)行日志取得開始,將模塊名、接口名、函數(shù)/方法名保存于內(nèi)存中(步驟S4602)。其次,運(yùn)行日志取得代碼將調(diào)用時的日期·時間、參數(shù)及指針·參數(shù)指示的內(nèi)存的內(nèi)容保存于內(nèi)存中(步驟S4603),調(diào)用原來的函數(shù)/方法(步驟S4604)。如從函數(shù)/方法返回,運(yùn)行日志取得代碼,將返回時的日期·時間、返回值及指針·參數(shù)指示的內(nèi)存內(nèi)容存儲于內(nèi)存中(步驟S4605)。之后,判斷調(diào)用的函數(shù)/方法的返回時的日期是否與上次保存的運(yùn)行日志的返回時的日期不同(步驟S4606)。在日期不同的場合,就生成新文件,將運(yùn)行日志保存于該文件中(步驟S4607),在相同時,就在原有的運(yùn)行日志文件中保存運(yùn)行日志(步驟S4608)。另外,在有來自用戶的終止命令時(步驟S4609),該處理將終止。由此,用戶就可以取得所要求的帶有日期的運(yùn)行日志,也可以獲得很容易對運(yùn)行日志進(jìn)行分析的效果。在上述實施方式12中,敘述的是連日期一起保存的場合,但也可以將運(yùn)行日志按照各個大小或個數(shù)進(jìn)行分割保存。圖47為按照各個大小或個數(shù)進(jìn)行分割保存的場合的處理的流程圖。處理一開始(步驟S4701),運(yùn)行日志取得開始,將模塊名、接口名、函數(shù)/方法名保存于內(nèi)存中(步驟S4702)。其次,運(yùn)行日志取得代碼將調(diào)用時的時間、參數(shù)及指針·參數(shù)指示的內(nèi)存的內(nèi)容保存于內(nèi)存中(步驟S4703),調(diào)用原來的函數(shù)/方法(步驟S4704)。如從函數(shù)/方法返回,運(yùn)行日志取得代碼將返回時的時間、返回值及指針·參數(shù)指示的內(nèi)存的內(nèi)容存儲于內(nèi)存中(步驟S4705)。之后,在將新運(yùn)行日志數(shù)據(jù)保存于原有的文件中的場合,就判斷文件的大小是否超過一定值或運(yùn)行日志是否超過一定個數(shù)(步驟S4706)。在超過一定大小的場合或超過一定個數(shù)的場合,就生成新運(yùn)行日志文件,將運(yùn)行日志保存于該文件(步驟S4707),在不超過的場合,就保存于原有的運(yùn)行日志文件中(步驟S4708)。在生成新運(yùn)行日志文件的場合,判斷是否使用環(huán)形緩沖器且生成的運(yùn)行日志文件數(shù)是否大于2個(步驟S4709)。如果在條件合適的場合,將最舊的運(yùn)行日志文件刪除(步驟S4710)。在有來自用戶的終止命令時(步驟S4712),該處理終止。由此,用戶可以將生成的多個運(yùn)行日志每個的大小和個數(shù)都限制在一定的大小和個數(shù)之內(nèi)而取得,處理就變得容易。另外,在使用環(huán)形緩沖器時,本軟件評價系統(tǒng)可以對給予PC的資源的負(fù)擔(dān)予以一定的抑制,可以使運(yùn)行日志的取得穩(wěn)定。圖48為將取得的運(yùn)行日志存儲于一定數(shù)量的內(nèi)存中的場合的內(nèi)存的概圖。用來保存一定數(shù)目的運(yùn)行日志的運(yùn)行日志存放內(nèi)存區(qū)有n個(398),在各運(yùn)行日志存放內(nèi)存區(qū)中存放一次數(shù)量的函數(shù)/方法的運(yùn)行日志,該信息存放模塊名、接口名、函數(shù)/方法名、調(diào)用時的時間、參數(shù)、調(diào)用時的參數(shù)數(shù)據(jù)、終止時的時間、終止時的參數(shù)數(shù)據(jù)、返回值數(shù)據(jù)等(399),大小為可變的。在此內(nèi)存區(qū),從運(yùn)行日志存放內(nèi)存區(qū)1開始順序存放運(yùn)行日志數(shù)據(jù),一直到運(yùn)行日志存放內(nèi)存區(qū)n為止,如用完的話,則再次從運(yùn)行日志存放內(nèi)存區(qū)1開始重寫存放運(yùn)行日志。圖49為將取得的運(yùn)行日志保存于一定數(shù)量的內(nèi)存中時的運(yùn)行日志取得的流程圖。處理一開始(步驟S4901),將表示運(yùn)行日志存放內(nèi)存區(qū)的地點(diǎn)的變數(shù)x初始化為1(步驟S4902)。于是,開始取得運(yùn)行日志,將模塊名、接口名、函數(shù)/方法名保存于運(yùn)行日志存放內(nèi)存區(qū)x(步驟S4903)其次,運(yùn)行日志取得代碼將調(diào)用時的時間、參數(shù)及指針·參數(shù)指示的內(nèi)存的內(nèi)容保存于運(yùn)行日志存放內(nèi)存區(qū)x中(步驟S4904),調(diào)用原來的函數(shù)/方法(步驟S4905)。如從函數(shù)/方法返回,運(yùn)行日志取得代碼將返回時的時間、返回值及指針·參數(shù)指示的內(nèi)存的內(nèi)容存儲于運(yùn)行日志存放內(nèi)存區(qū)x中(步驟S4906)。之后,將表示運(yùn)行日志存放內(nèi)存區(qū)的地點(diǎn)的變數(shù)x加1(步驟S4907),判斷x是否比運(yùn)行日志存放內(nèi)存區(qū)數(shù)n大(步驟S4908)。在x比n大時,將1代入x,從運(yùn)行日志存放內(nèi)存區(qū)的前頭開始再次使用(步驟S4909)。之后,判斷是否使用環(huán)形緩沖器(步驟S4910),在不使用的場合,將內(nèi)存上存在的全部運(yùn)行日志數(shù)據(jù)保存于運(yùn)行日志文件中(步驟S4911),將內(nèi)存上的運(yùn)行日志數(shù)據(jù)全部刪除(步驟S4912)。此處理一直進(jìn)行到有來自用戶的終止命令時(步驟S4913)而終止(步驟S4914)。由此,可以使內(nèi)存的使用量限制于某一程度的值,本軟件評價系統(tǒng)可以對給予PC的資源的負(fù)擔(dān)予以一定的抑制,可以使運(yùn)行日志的取得穩(wěn)定。另外,本發(fā)明,既適用于由多個設(shè)備(比如,主計算機(jī)、接口裝置、讀入器、打印機(jī)等)構(gòu)成的系統(tǒng),也適用于由一臺設(shè)備組成的裝置(比如,復(fù)印機(jī)、傳真裝置等)。另外,本發(fā)明目的也可以通過將記錄了實現(xiàn)上述實施方式的功能的軟件的程序代碼的存儲介質(zhì)供給系統(tǒng)或裝置,該系統(tǒng)或裝置的計算機(jī)(或CPU及MPU)讀出并執(zhí)行存放于存儲介質(zhì)上的程序代碼而達(dá)到。在此場合,由于從存儲介質(zhì)讀出的程序代碼本身實現(xiàn)上述實施方式的功能,所以存儲該程序代碼的存儲介質(zhì)構(gòu)成本發(fā)明。作為提供程序代碼的存儲介質(zhì),比如,可以使用軟盤(注冊商標(biāo))、硬盤、光盤、磁光盤、CD-ROM、CD-R、磁帶、非易失性存儲卡以及ROM等。另外,通過執(zhí)行計算機(jī)讀出的程序代碼,不僅可以實現(xiàn)上述實施方式的功能,而且根據(jù)該程序代碼的指示,在計算機(jī)上運(yùn)行的OS(操作系統(tǒng))等進(jìn)行實際處理的一部分或全部,通過該處理實現(xiàn)上述實施方式的功能的場合也包括在內(nèi)是自不待言的。此外,從存儲介質(zhì)讀出的程序代碼,在寫入到插入計算機(jī)的功能擴(kuò)展板或與計算機(jī)相連接的功能擴(kuò)展裝置中設(shè)置的內(nèi)存后,根據(jù)該程序代碼的指示,設(shè)置于該功能擴(kuò)展板或功能擴(kuò)展裝置上的CPU等進(jìn)行實際處理的一部分或全部,通過該處理實現(xiàn)上述實施方式的功能的場合也包括在內(nèi)是自不待言的。如上所述,根據(jù)本發(fā)明,可容易取得分成為多個模塊的軟件的處理運(yùn)行日志,并且可以削減用來分析軟件故障的原因的工時。本發(fā)明不限于上述具體實施例,并且在不脫離本發(fā)明的精神和范圍的情況下可以實現(xiàn)本發(fā)明的多種改變和變型。因此,為使廣大群眾了解本發(fā)明的范圍,下面提出本發(fā)明的權(quán)利要求。權(quán)利要求1.一種運(yùn)行日志取得方法,取得具備進(jìn)行規(guī)定處理的函數(shù)的程序的執(zhí)行中的運(yùn)行日志,其特征為具有將加載有進(jìn)行上述規(guī)定的處理的函數(shù)的地址改寫為用來取得運(yùn)行日志的函數(shù)的地址的工序,用來取得上述運(yùn)行日志的函數(shù)包含調(diào)用進(jìn)行上述規(guī)定處理的函數(shù),執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;在上述程序內(nèi)的函數(shù)定義中,判斷指針·參數(shù)是否是以規(guī)定的定義方法所定義的工序;以及在指針·參數(shù)以規(guī)定的定義方法被定義的場合,根據(jù)該定義方法,將該指針·參數(shù)所指的內(nèi)存的內(nèi)容作為運(yùn)行日志進(jìn)行記錄的工序。2.如權(quán)利要求1所述的運(yùn)行日志取得方法,其特征為上述運(yùn)行日志取得函數(shù)進(jìn)一步具有根據(jù)上述定義方法算出內(nèi)存大小的工序,上述記錄工序?qū)⑸鲜鲋羔槨?shù)指示的內(nèi)存內(nèi)容按照該算出的內(nèi)存大小的量進(jìn)行記錄。3.一種運(yùn)行日志取得方法,取得具備進(jìn)行規(guī)定處理的函數(shù)的程序的執(zhí)行中的運(yùn)行日志,其特征為具有將加載有進(jìn)行上述規(guī)定的處理的函數(shù)的地址改寫為用來取得運(yùn)行日志的函數(shù)的地址的工序;用來取得上述運(yùn)行日志的函數(shù)包含調(diào)用進(jìn)行上述規(guī)定處理的函數(shù),執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;對在調(diào)用進(jìn)行上述規(guī)定處理的函數(shù)時的規(guī)定信息和接受上述執(zhí)行結(jié)果時的規(guī)定信息進(jìn)行記錄的工序;根據(jù)上述程序內(nèi)的函數(shù)定義,判斷有無不輸出的函數(shù)的工序;在有不輸出的函數(shù)的場合,新生成用于與該函數(shù)相對應(yīng)的運(yùn)行日志取得的函數(shù),將該不輸出函數(shù)的地址改寫為新生成的函數(shù)的地址的工序;上述新生成的函數(shù),具有調(diào)用上述未被輸出的函數(shù),執(zhí)行該規(guī)定處理,將接收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;對在調(diào)用上述不輸出的函數(shù)時的規(guī)定信息和接受上述執(zhí)行結(jié)果時的規(guī)定信息進(jìn)行記錄的工序。4.一種運(yùn)行日志取得方法,取得具備進(jìn)行規(guī)定處理的函數(shù)的程序的執(zhí)行中的運(yùn)行日志,其特征為具有將加載有進(jìn)行上述規(guī)定的處理的函數(shù)的地址改寫為用來取得運(yùn)行日志的函數(shù)的地址的工序,用來取得上述運(yùn)行日志的函數(shù),包含調(diào)用進(jìn)行上述規(guī)定處理的函數(shù),執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;在上述程序內(nèi)的函數(shù)定義中,判斷指針·參數(shù)是否是作為可變長數(shù)組進(jìn)行定義的工序;以及在將指針·參數(shù)定義為可變長數(shù)組的場合,將該指針·參數(shù)所指的內(nèi)存的內(nèi)容在該指定的數(shù)組中進(jìn)行記錄的工序。5.一種運(yùn)行日志取得方法,取得具備進(jìn)行規(guī)定處理的函數(shù)的程序的執(zhí)行中的運(yùn)行日志,其特征為具有將加載有進(jìn)行上述規(guī)定處理的函數(shù)的地址改寫為用來取得運(yùn)行日志的函數(shù)的地址的工序,用來取得上述運(yùn)行日志的函數(shù),包含調(diào)用進(jìn)行上述規(guī)定處理的函數(shù),執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;在上述程序內(nèi)的函數(shù)定義中,判斷指定指針·參數(shù)是否被指定為結(jié)構(gòu)體的工序;以及在指定指針·參數(shù)作為結(jié)構(gòu)體的場合,對該指針·參數(shù)所指的內(nèi)存的內(nèi)容,按照在上述程序內(nèi)的函數(shù)定義中定義的結(jié)構(gòu)體的大小量,作為運(yùn)行日志進(jìn)行記錄的工序。6.一種運(yùn)行日志取得方法,取得具備進(jìn)行規(guī)定處理的函數(shù)的程序的執(zhí)行中的運(yùn)行日志,其特征為具有將加載有進(jìn)行上述規(guī)定的處理的函數(shù)的地址改寫為用來取得運(yùn)行日志的函數(shù)的地址的工序,用來取得上述運(yùn)行日志的函數(shù),包含調(diào)用進(jìn)行上述規(guī)定處理的函數(shù),執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;在上述程序內(nèi)的函數(shù)定義中,判斷進(jìn)行種類指定的指針·參數(shù)是否被定義為結(jié)構(gòu)體的工序;以及在把進(jìn)行種類指定的指針·參數(shù)定義為結(jié)構(gòu)體的場合,將該指針·參數(shù)所指的內(nèi)存的內(nèi)容作為進(jìn)行種類指定的數(shù)據(jù)型進(jìn)行記錄的工序。7.一種運(yùn)行日志取得方法,取得具備進(jìn)行規(guī)定處理的方法的程序的執(zhí)行中的運(yùn)行日志,其特征為具有將加載有進(jìn)行上述規(guī)定的處理的函數(shù)的地址改寫為用來取得運(yùn)行日志的方法的地址的工序,用來取得上述運(yùn)行日志的方法,包含調(diào)用進(jìn)行上述規(guī)定處理的方法,執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;在上述程序內(nèi)的函數(shù)定義中,判斷指針·參數(shù)是否是以規(guī)定的定義方法定義的工序;以及在指針·參數(shù)以規(guī)定的定義方法定義的場合,根據(jù)該定義方法,將該指針·參數(shù)所指的內(nèi)存的內(nèi)容作為運(yùn)行日志進(jìn)行記錄的工序。8.如權(quán)利要求7所述的運(yùn)行日志取得方法,其特征為上述用于取得運(yùn)行日志的方法具有根據(jù)上述定義方法算出內(nèi)存大小的工序,上述記錄工序?qū)⑸鲜鲋羔槨?shù)指示的內(nèi)存內(nèi)容按照該算出的內(nèi)存大小的量進(jìn)行記錄。9.一種運(yùn)行日志取得方法,取得具備進(jìn)行規(guī)定處理的方法的程序的執(zhí)行中的運(yùn)行日志,其特征為具有將加載有進(jìn)行上述規(guī)定的處理的方法的地址改寫為用來取得運(yùn)行日志的方法的地址的工序;用來取得上述運(yùn)行日志的方法,包含調(diào)用進(jìn)行上述規(guī)定處理的方法,執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;對在調(diào)用進(jìn)行上述規(guī)定處理的方法時的規(guī)定信息和接受上述執(zhí)行結(jié)果時的規(guī)定信息進(jìn)行記錄的工序;根據(jù)上述程序內(nèi)的函數(shù)定義,判斷有無不輸出的方法的工序;在有不輸出的方法的場合,新生成用于與該方法相對應(yīng)的運(yùn)行日志的取得的方法,將該不輸出的方法的地址改寫為新生成的方法的地址的工序;上述新生成的方法,具有調(diào)用上述不輸出的方法,執(zhí)行該規(guī)定處理,將接收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;對在調(diào)用上述不輸出的方法時的規(guī)定信息和接受上述執(zhí)行結(jié)果時的規(guī)定信息進(jìn)行記錄的工序。10.一種運(yùn)行日志取得方法,其特征在于是一種取得具備進(jìn)行規(guī)定處理的方法的程序的執(zhí)行中的運(yùn)行日志的運(yùn)行日志取得方法,具有將加載有進(jìn)行上述規(guī)定的處理的方法的地址改寫為用來取得運(yùn)行日志的方法的地址的工序,用來取得上述運(yùn)行日志的方法,包含調(diào)用進(jìn)行上述規(guī)定處理的方法,執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;在上述程序內(nèi)的函數(shù)定義中,判斷指針·參數(shù)是否是作為可變長數(shù)組進(jìn)行定義的工序;以及在將指針·參數(shù)定義為可變長數(shù)組的場合,將該指針·參數(shù)所指的內(nèi)存的內(nèi)容在該指定的數(shù)組中進(jìn)行記錄的工序。11.一種運(yùn)行日志取得方法,取得具備進(jìn)行規(guī)定處理的方法的程序的執(zhí)行中的運(yùn)行日志,其特征為具有將加載有進(jìn)行上述規(guī)定的處理的方法的地址改寫為用來取得運(yùn)行日志的方法的地址的工序,用來取得上述運(yùn)行日志的方法,包含調(diào)用進(jìn)行上述規(guī)定處理的方法,執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;在上述程序內(nèi)的函數(shù)定義中,判斷指針·參數(shù)是否被指定為結(jié)構(gòu)體的工序;以及在指定指針·參數(shù)作為結(jié)構(gòu)體的場合,對該指針·參數(shù)所指的內(nèi)存的內(nèi)容,按照在上述程序內(nèi)的函數(shù)定義中定義的結(jié)構(gòu)體的大小量,作為運(yùn)行日志進(jìn)行記錄的工序。12.一種運(yùn)行日志取得方法,取得具備進(jìn)行規(guī)定處理的方法的程序的執(zhí)行中的運(yùn)行日志,其特征為具有將加載有進(jìn)行上述規(guī)定的處理的方法的地址改寫為用來取得運(yùn)行日志的方法的地址的工序,用來取得上述運(yùn)行日志的方法,包含調(diào)用進(jìn)行上述規(guī)定處理的方法,執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;在上述程序內(nèi)的函數(shù)定義中,判斷進(jìn)行種類指定的指針·參數(shù)是否被定義為結(jié)構(gòu)體的工序;以及在進(jìn)行種類指定的指針·參數(shù)被定義為結(jié)構(gòu)體的場合,將該指針·參數(shù)所指的內(nèi)存的內(nèi)容作為進(jìn)行種類指定的數(shù)據(jù)型進(jìn)行記錄的工序。13.一種存儲介質(zhì),其特征為存放由計算機(jī)實現(xiàn)權(quán)利要求1所述的運(yùn)行日志取得方法的控制程序。14.一種控制程序,其特征為由計算機(jī)實現(xiàn)權(quán)利要求1所述的運(yùn)行日志取得方法。15.一種運(yùn)行日志取得方法,取得具備進(jìn)行規(guī)定處理的函數(shù)的程序的執(zhí)行中的運(yùn)行日志,其特征為具有將加載有進(jìn)行上述規(guī)定的處理的函數(shù)的地址改寫為用來取得運(yùn)行日志的函數(shù)的地址的工序;以及選擇進(jìn)行上述規(guī)定處理的函數(shù)的工序;用來取得上述運(yùn)行日志的函數(shù),包含調(diào)用進(jìn)行上述規(guī)定處理的函數(shù),執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;對在調(diào)用在上述選擇工序中所選擇的函數(shù)時的規(guī)定信息作為運(yùn)行日志進(jìn)行記錄的工序;以及將在接受在上述選擇工序中所選擇的函數(shù)的執(zhí)行結(jié)果時的規(guī)定信息作為運(yùn)行日志進(jìn)行記錄的工序。16.一種運(yùn)行日志取得方法,取得具備進(jìn)行規(guī)定處理的函數(shù)的程序的執(zhí)行中的運(yùn)行日志,其特征為具有將加載有進(jìn)行上述規(guī)定的處理的函數(shù)的地址改寫為用來取得運(yùn)行日志的函數(shù)的地址的工序;以及選擇進(jìn)行上述規(guī)定處理的函數(shù)的工序;用來取得上述運(yùn)行日志的函數(shù),包含調(diào)用進(jìn)行上述規(guī)定處理的函數(shù),執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;對在調(diào)用進(jìn)行上述規(guī)定處理的函數(shù)時的規(guī)定信息和接受該函數(shù)執(zhí)行結(jié)果時的規(guī)定信息作為運(yùn)行日志進(jìn)行記錄的工序;以及對在上述選擇工序中所選擇的函數(shù),停止運(yùn)行日志的記錄的工序。17.如權(quán)利要求15所述的運(yùn)行日志取得方法,其特征為用來取得上述運(yùn)行日志的函數(shù)還包含判斷在上述選擇工序中選擇的函數(shù)執(zhí)行時有無錯誤的工序,作為上述運(yùn)行日志進(jìn)行記錄的工序,通過上述判斷有無錯誤的工序判斷為存在錯誤的場合,將上述規(guī)定信息作為運(yùn)行日志進(jìn)行記錄。18.如權(quán)利要求16所述的運(yùn)行日志取得方法,其特征為用來取得上述運(yùn)行日志的函數(shù)還包含判斷在上述選擇工序中選擇的函數(shù)執(zhí)行時有無錯誤的工序,上述停止運(yùn)行日志記錄的工序,通過上述判斷有無錯誤的工序判斷為存在錯誤的場合,停止運(yùn)行日志的記錄。19.一種運(yùn)行日志取得方法,取得具備進(jìn)行規(guī)定處理的方法的程序的執(zhí)行中的運(yùn)行日志,其特征為具有將加載有進(jìn)行上述規(guī)定的處理的方法的地址改寫為用來取得運(yùn)行日志的方法的地址的工序;以及選擇進(jìn)行上述規(guī)定處理的方法的工序;用來取得上述運(yùn)行日志的方法,包含調(diào)用進(jìn)行上述規(guī)定處理的方法,執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;對在調(diào)用在上述選擇工序中所選擇的方法時的規(guī)定信息作為運(yùn)行日志進(jìn)行記錄的工序;以及將在接受在上述選擇工序中所選擇的方法的執(zhí)行結(jié)果時的規(guī)定信息作為運(yùn)行日志進(jìn)行記錄的工序。20.一種運(yùn)行日志取得方法,取得具備進(jìn)行規(guī)定處理的方法的程序的執(zhí)行中的運(yùn)行日志,其特征為具有將加載有進(jìn)行上述規(guī)定的處理的方法的地址改寫為用來取得運(yùn)行日志的方法的地址的工序;以及選擇進(jìn)行上述規(guī)定處理的方法的工序;用來取得上述運(yùn)行日志的方法,包含調(diào)用進(jìn)行上述規(guī)定處理的方法,執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;對在調(diào)用進(jìn)行上述規(guī)定處理的方法時的規(guī)定信息和接受該函數(shù)執(zhí)行結(jié)果時的規(guī)定信息作為運(yùn)行日志進(jìn)行記錄的工序;以及對在上述選擇工序中所選擇的方法,停止運(yùn)行日志的記錄的工序。21.如權(quán)利要求19所述的運(yùn)行日志取得方法,其特征為用來取得上述運(yùn)行日志的函數(shù)還包含判斷在上述選擇工序中選擇的方法執(zhí)行時有無錯誤的工序,作為上述運(yùn)行日志進(jìn)行記錄的工序,通過上述判斷有無錯誤的工序判斷為存在錯誤的場合,將上述規(guī)定信息作為運(yùn)行日志進(jìn)行記錄。22.如權(quán)利要求20所述的運(yùn)行日志取得方法,其特征為用來取得上述運(yùn)行日志的函數(shù)還包含判斷在上述選擇工序中選擇的方法執(zhí)行時有無錯誤的工序,上述停止運(yùn)行日志記錄的工序,通過上述判斷有無錯誤的工序判斷為存在錯誤的場合,停止運(yùn)行日志的記錄。23.如權(quán)利要求19所述的運(yùn)行日志取得方法,其特征為還包括以樹形結(jié)構(gòu)顯示COM服務(wù)器輸出的接口和屬于該接口的方法的工序,上述選擇工序經(jīng)上述顯示進(jìn)行選擇。24.如權(quán)利要求20所述的運(yùn)行日志取得方法,其特征在于還包括以樹形結(jié)構(gòu)顯示COM服務(wù)器輸出的接口和屬于該接口的方法的工序,上述選擇工序經(jīng)上述顯示進(jìn)行選擇。25.如權(quán)利要求23所述的運(yùn)行日志取得方法,其特征在于上述選擇工序可以以方法單位進(jìn)行選擇。26.如權(quán)利要求24所述的運(yùn)行日志取得方法,其特征在于上述選擇工序可以以方法單位進(jìn)行選擇。27.如權(quán)利要求23所述的運(yùn)行日志取得方法,其特征為通過選擇上述接口上述選擇工序可以選擇屬于該接口的全部方法。28.如權(quán)利要求24所述的運(yùn)行日志取得方法,其特征為通過選擇上述接口上述選擇工序可以選擇屬于該接口的全部方法。29.一種運(yùn)行日志取得方法,取得具備進(jìn)行規(guī)定處理的函數(shù)的程序的執(zhí)行中的運(yùn)行日志,其特征為具有將加載有進(jìn)行上述規(guī)定的處理的函數(shù)的地址改寫為用來取得運(yùn)行日志的函數(shù)的地址的工序;以及選擇進(jìn)行上述規(guī)定處理的函數(shù)的工序;用來取得上述運(yùn)行日志的函數(shù),包含調(diào)用進(jìn)行上述規(guī)定處理的函數(shù),執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;以及對在調(diào)用進(jìn)行上述規(guī)定處理的函數(shù)時的規(guī)定信息和接受上述執(zhí)行結(jié)果時的規(guī)定信息作為運(yùn)行日志進(jìn)行記錄的工序;作為上述運(yùn)行日志進(jìn)行記錄的工序,可以按日期記錄運(yùn)行日志。30.一種運(yùn)行日志取得方法,取得具備進(jìn)行規(guī)定處理的函數(shù)的程序的執(zhí)行中的運(yùn)行日志,其特征為具有將加載有進(jìn)行上述規(guī)定的處理的函數(shù)的地址改寫為用來取得運(yùn)行日志的函數(shù)的地址的工序;以及選擇進(jìn)行上述規(guī)定處理的函數(shù)的工序;用來取得上述運(yùn)行日志的函數(shù),包含調(diào)用進(jìn)行上述規(guī)定處理的函數(shù),執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;以及對在調(diào)用進(jìn)行上述規(guī)定處理的函數(shù)時的規(guī)定信息和接受上述執(zhí)行結(jié)果時的規(guī)定信息作為運(yùn)行日志進(jìn)行記錄的工序;作為上述運(yùn)行日志進(jìn)行記錄的工序,在運(yùn)行日志的大小超過一定大小的場合,生成新的另外的文件。31.一種運(yùn)行日志取得方法,取得具備進(jìn)行規(guī)定處理的函數(shù)的程序的執(zhí)行中的運(yùn)行日志,其特征為具有將加載有進(jìn)行上述規(guī)定的處理的函數(shù)的地址改寫為用來取得運(yùn)行日志的函數(shù)的地址的工序;以及選擇進(jìn)行上述規(guī)定處理的函數(shù)的工序;用來取得上述運(yùn)行日志的函數(shù),包含調(diào)用進(jìn)行上述規(guī)定處理的函數(shù),執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;以及對在調(diào)用進(jìn)行上述規(guī)定處理的函數(shù)時的規(guī)定信息和接受上述執(zhí)行結(jié)果時的規(guī)定信息作為運(yùn)行日志進(jìn)行記錄的工序;作為上述運(yùn)行日志進(jìn)行記錄的工序,在運(yùn)行日志的個數(shù)超過一定數(shù)的場合,生成新的另外的文件。32.一種運(yùn)行日志取得方法,取得具備進(jìn)行規(guī)定處理的函數(shù)的程序的執(zhí)行中的運(yùn)行日志,其特征為具有將加載有進(jìn)行上述規(guī)定的處理的函數(shù)的地址改寫為用來取得運(yùn)行日志的函數(shù)的地址的工序;以及選擇進(jìn)行上述規(guī)定處理的函數(shù)的工序;用來取得上述運(yùn)行日志的函數(shù),包含調(diào)用進(jìn)行上述規(guī)定處理的函數(shù),執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;以及對在調(diào)用進(jìn)行上述規(guī)定處理的函數(shù)時的規(guī)定信息和接受上述執(zhí)行結(jié)果時的規(guī)定信息作為運(yùn)行日志存放于內(nèi)存的工序;作為上述運(yùn)行日志存放于內(nèi)存的工序,在該內(nèi)存上的運(yùn)行日志的個數(shù)超過一定數(shù)的場合,將該內(nèi)存上的運(yùn)行日志移動到盤裝置進(jìn)行保存。33.一種運(yùn)行日志取得方法,取得具備進(jìn)行規(guī)定處理的方法的程序的執(zhí)行中的運(yùn)行日志,其特征為具有將加載有進(jìn)行上述規(guī)定的處理的方法的地址改寫為用來取得運(yùn)行日志的方法的地址的工序;以及選擇進(jìn)行上述規(guī)定處理的方法的工序;用來取得上述運(yùn)行日志的方法,包含調(diào)用進(jìn)行上述規(guī)定處理的方法,執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;以及對在調(diào)用進(jìn)行上述規(guī)定處理的方法時的規(guī)定信息和接受上述執(zhí)行結(jié)果時的規(guī)定信息作為運(yùn)行日志進(jìn)行記錄的工序;作為上述運(yùn)行日志進(jìn)行記錄的工序,可以按日期進(jìn)行記錄。34.一種運(yùn)行日志取得方法,取得具備進(jìn)行規(guī)定處理的方法的程序的執(zhí)行中的運(yùn)行日志,其特征為具有將加載有進(jìn)行上述規(guī)定的處理的方法的地址改寫為用來取得運(yùn)行日志的方法的地址的工序;以及選擇進(jìn)行上述規(guī)定處理的方法的工序;用來取得上述運(yùn)行日志的方法,包含調(diào)用進(jìn)行上述規(guī)定處理的方法,執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;以及對在調(diào)用進(jìn)行上述規(guī)定處理的方法時的規(guī)定信息和接受上述執(zhí)行結(jié)果時的規(guī)定信息作為運(yùn)行日志進(jìn)行記錄的工序;作為上述運(yùn)行日志進(jìn)行記錄的工序,在運(yùn)行日志的大小超過一定大小的場合,生成新的另外的文件。35.一種運(yùn)行日志取得方法,取得具備進(jìn)行規(guī)定處理的方法的程序的執(zhí)行中的運(yùn)行日志,其特征為具有將加載有進(jìn)行上述規(guī)定的處理的方法的地址改寫為用來取得運(yùn)行日志的方法的地址的工序;以及選擇進(jìn)行上述規(guī)定處理的方法的工序;用來取得上述運(yùn)行日志的方法,包含調(diào)用進(jìn)行上述規(guī)定處理的方法,執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;以及對在調(diào)用進(jìn)行上述規(guī)定處理的方法時的規(guī)定信息和接受上述執(zhí)行結(jié)果時的規(guī)定信息作為運(yùn)行日志進(jìn)行記錄的工序;作為上述運(yùn)行日志進(jìn)行記錄的工序,在運(yùn)行日志的個數(shù)超過一定數(shù)的場合,生成新的另外的文件。36.一種運(yùn)行日志取得方法,取得具備進(jìn)行規(guī)定處理的方法的程序的執(zhí)行中的運(yùn)行日志,其特征為具有將加載有進(jìn)行上述規(guī)定的處理的方法的地址改寫為用來取得運(yùn)行日志的方法的地址的工序;以及選擇進(jìn)行上述規(guī)定處理的方法的工序;用來取得上述運(yùn)行日志的方法,包含調(diào)用進(jìn)行上述規(guī)定處理的方法,執(zhí)行該規(guī)定處理,將收到的執(zhí)行結(jié)果轉(zhuǎn)送給上述程序的工序;以及對在調(diào)用進(jìn)行上述規(guī)定處理的方法時的規(guī)定信息和接受上述執(zhí)行結(jié)果時的規(guī)定信息作為運(yùn)行日志存放于內(nèi)存的工序;作為上述運(yùn)行日志存放于內(nèi)存的工序,在該內(nèi)存上的運(yùn)行日志的個數(shù)超過一定數(shù)的場合,將該內(nèi)存上的運(yùn)行日志移動到盤裝置進(jìn)行保存。37.一種存儲介質(zhì),其特征為存放由計算機(jī)實現(xiàn)權(quán)利要求15所述的運(yùn)行日志取得方法的控制程序。38.一種控制程序,其特征為由計算機(jī)實現(xiàn)權(quán)利要求15所述的運(yùn)行日志取得方法。全文摘要該發(fā)明提供運(yùn)行日志取得方法及程序、存儲介質(zhì)。該運(yùn)行日志取得方法為一種可以容易取得軟件處理運(yùn)行日志并且可削減用于分析錯誤(bug)的工時數(shù)的運(yùn)行日志取得方法。該運(yùn)行日志取得方法,在備有函數(shù)(FuncAA)的程序91中,為取得執(zhí)行中的運(yùn)行日志,具有將加載有進(jìn)行上述規(guī)定的處理的函數(shù)(FuncAA)的地址改寫為用來取得運(yùn)行日志的函數(shù)(92)的地址的工序,以及選擇應(yīng)該取得運(yùn)行日志的函數(shù)(FuncAA)的工序,用來取得運(yùn)行日志的函數(shù)(92),包含調(diào)用函數(shù)(FuncAA)的地址,執(zhí)行該規(guī)定處理(97),將收到的執(zhí)行結(jié)果(98)轉(zhuǎn)送給程序(91)的工序(101);記錄調(diào)用上述被選擇的函數(shù)(FuncAA)的地址時的規(guī)定信息的工序(95、100)以及記錄在接受上述被選擇的函數(shù)(FuncAA)的上述執(zhí)行結(jié)果時的規(guī)定信息的工序(99、100)。文檔編號G06F9/44GK1469237SQ0314933公開日2004年1月21日申請日期2003年6月27日優(yōu)先權(quán)日2002年6月28日發(fā)明者三原誠,三原申請人:佳能株式會社
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1