Hopper Log說明

Hopper Log文件分析

 

      opper會生成兩種文件:1個hopper.log文件各可能數個的dbglog.txt文件。Hopper會每過5分鐘就會把log消息導出到dblog.txt文件中,並更新hopper.log文件。

Hopper.log文件。

       Hopper.log文件記錄跑hopper的大致結果,dblog.txt記錄了詳細的log信息。

 

Hopper.log文件

      頭:記錄了hopper的結束原因等。

    
ild: Hopper的版本號。這裏的是2006年2月26日的

Random Seed: 跑Hopper用的隨機數種子. 一般是個素數。

Previous runtime:運行的時間。

Ended by:結束原因。也可以是Endtype關鍵字.

Boot count (prev): 在前端運行的時間間隔

ACTIONS/MIN: 每分鐘的點擊次數

Total States: 共訪問的AP數量

 

點擊信息:

1.       在hopper.log中找到STATS項,那麼對應的就第一個就是它的點擊率。

運行時間狀態 點擊率  點擊次數  上次訪問時間

把同一程序的secs加一起就是它的點擊率了.

在hopper.log的點擊信息的下面是總體信息


運行時間              次數                     點擊速度                     訪問了的程序數

 

 

Dbglog.txt文件

      TF是Hopper工具生成的log信息,MTTF至少5分鐘會打一次,因爲Hopper至少每5分鐘會生成自己的log,並刷到Dbg.txt文件中。

Hopper打印出來的最基本的結構:


時間(單位是毫秒)進程指針       線程指針

 

進程信息:

00033e8d ProcessCreate(8030bad0, 058ec1ea, iexplore.exe, 20000000)

<millisecond> ProcessCreate(<process pointer>, <process handle>, <process name>, <memory base address>)

00033f1e ProcessExtraInfo(8030bad0, 058ec1ea, 00010000, 00008000, /Windows/iexplore.exe)

<millisecond> ProcessExtraInfo (<process pointer>, <process handle>, < memory base address>, <memory length>, <process full name>)

ProcessClose(e4ea6026)      <process handle>

ProcessTerminate(e4ea6026)  <process handle>

ProcessDelete(e4ea6026)              <process handle>

 

       線程信息:

0002c2a4 ThreadCreate(85d40a40, e5ce0f56, 22cf547a, 00000000, 032bb924, 251, 181e0000, 00010000)

<millisecond> ThreadCreate(<thread pointer>, <thread handle>, <process handle>, <module handle>, <thread start address>, <thread priority>, <stack address>, <stack size>)

ThreadResume(e31d9da2)  <thread handle>

ThreadClose(e4c794b2)   <thread handle>

ThreadTerminate(e4c794b2)   <thread handle>

ThreadDelete(e4c794b2)      <thread handle>

 

Model信息:

ModuleLoad(058ec1ea, 862df7e0, coredll.dll, 03f4e000)

ModuleLoad(<process handle>, <module handle>, <module name>, <base address>)

00033ab8    ModuleExtraInfo(862ac000, 00015000, 00000000)

<millisecond> ModuleExtraInfo(<module handle>, <virtual memory length>, <module flag>)

這裏,flag:         1->module被加載到kernel中。

                    2->只是被當作數據回載,當一種資源

 

CPU信息:

[aCPU@14]100 % current_time 43000 80013274  8370A6EC, [mCPU]2 %

[CPU]<percent> % current_time <millisecond> <interrupt return address> <thread pointer>

 

文件信息:

FileCreate(a3988fbe, 4, 0, 1018872, pim.vol:sqlce_se_mem)

FileCreate(<file handle>, <access permission>, < file-mapping flags>, <file-mapping maximum size>, <file name>)

        <access permission>:

            0x00000002->  Read Only

            0x00000004->  Read & Write

            0x00000008->  WRITECOPY (not supported)

FileDestroy(a3988fbe)

FileDestroy(<file handle>)

 

Error信息:用關鍵字 “FSR=”, 就可以找到相應產生的Error信息。這個是程序跑失敗最重要的原因。這些Error信息,主要包括:Data abort,prefetch abort, Raise exception。第一種是在非法讀取數據,第二種是非法讀取指令,第三種是一些邏輯錯誤,如除0錯誤。

例:

Data Abort: Thread=971b7640 Proc=80096d60 'EDataAbort.exe'

AKY=00001001 PC=0001174c(EDataAbort.exe+0x0000174c) RA=00011580(EDataAbort.exe+0x00001580) BVA=04d3f640 FSR=00000405

說明:

Data Abort: Thread=線程指針,進程指針,進程名

    AKY     Access Keys

    PC      Program Counter         這就是發生data abort的地址

    RA     Return Address          函數要返回的地址

    BVA     Bad Virtual Address

    FSR     Fault Status Register   發生錯誤的寄存器

如果用PC找到不發生錯誤的地方,可以哈用RA找,因爲可能RA是我們的module,而PC不是。

 

點擊率:在log中指關鍵字 “MTTF: STATS”, 找到對應的程序,然後把點擊率加在一起就可以了。


 

結束原因:用關鍵字 ”ended by”或 ”endtype”,就可以找到hopper結束的原因,如果沒有,那麼就可能是正常的。 如果hopper一直都在打印MTTF說明還沒有hopper沒有失敗,如果沒有打印,那麼hopper可能被卡住了。

下面是一些主要的結束原因:

1.     Stuck in the same window!

2.  Stop by MTTF!(Failed to launch application!)

3.  Test was skipped for more than 30 minutes!

4.  Normal threads are no longer running effectively!

5.  System auto reset

6.  Default system crash unless terminated by user

7.  UI Unresponsiveness caused by CPU starvation!

8.  Stop by MTTF

9.  Failed to launch application!

10. Start menu dead, not responding!

11. Program memory unavailable

12. Hopper stop, device alive

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章