Multi Log 관련 작업
큰 줄기는 GSMExitPreCrashDump 에서 진행
[optitrace화면상으로 보여주는 함수]
TRTxBufferDump
Name: TRTxBufferDumpDesc: Dump the last stored non-volatile trace from the FFS -> OptiTrace.Params: --Returns: --Caveats: This must be called from GSMExit, as there could be lots of data to send, and the trace buffer is only TR_NVT_BUFF_SIZE big.
1. Trace 청소2. !! NVT Trace Start 출력3. 버퍼공간 확보 ptr_TRTxBuffer4. TRACE_CLASS 파일에서 정보 읽어서 버퍼로 옮김 // TRTxBufferReadFFS 호출 내용 Reset Code 외 8k 정보 불량의 정보 #define TR_PUT_BUFF_SIZE /*32768 */ 8192 #define TR_GET_BUFF_SIZE 2048 /* 256 */ #define TR_PUT_BUFMASK ( TR_PUT_BUFF_SIZE - 1 ) #define TR_GET_BUFMASK ( TR_GET_BUFF_SIZE - 1 ) #define TR_NVT_BUFF_SIZE ( TR_PUT_BUFF_SIZE - 8 )
5. Trace 모드 전환 TRSetTransparent6. Buffer 해제7. fIdSaveTraceList 전역변수를 0으로 설정8. TRTxExtendedBufferDump 호출해서 Exit_log 0 출력
참고 PTE Command : CTNVTErrLog는 전역변수 fIdsaveTraceList를 지정하고 바로 TRTxExtendedBufferDump 을 호출해서 자기가 원하는 덤프파일을 볼 수 있음.
관련함수 TRTxBufferReadFFS, TRTxExtendedBufferDump
[ExitLog 저장하는 함수]
TRTxBufferGSMExitWriteFFS는 TRTxBufferSave 와 TRTxBufferWriteFFS 을 차례대로 호출하여 수행
1. TRTxBufferSave 버퍼설정하고 조건변수 TRWriteTxBufferFFSFlag 을 셋팅한다.2. TRTxBufferWriteFFS 버퍼의 내용을 기록한다. TraceLog 파일 삭제 // ERROR_TRACELOG TraceLog 파일 생성 후 ptr_TRTxBufferSave 에 있는 내용 쓰고 파일 닫기 ptr_TRTxBufferSave 버퍼 해제(할당은 TRTxBufferSave )3. TRCreateNVTTextStream ExitLog파일 5개 생성 및 Rename 수행4. TRWriteNVTTextStream 을 이용해서 0번째 ExitLog파일에 기록 Buffer가 가득찰때까지는 TRNVTTextStreamBuffer에 모았다가 Buffer가 가득차면 0번째 파일에 저장(Append Mode)5. 존재하는 0번째 Exit Log 파일을 열고 TRNVTTextStreamBuffer 내용을 TRNVTTextStreamIndex(버퍼크기) 만큼 기록한다.
[조건변수]TRWriteTxBufferFFSFlag/* set flag to indicate that NV traces have to be written to file system */storeTRTxBuffer/* Indicate if the mobile is tracing internally */
[관리함수]0. TRTxEraseNVTFile fIdSaveTraceList에 지정된 파일 하나를 삭제한다1. TRTxEraseAllNVTFiles 이름과 다르게 TraceLog삭제하고 fIdSaveTraceList에 지정된 파일 하나를 삭제한다. 기본적으로 0 이므로 첫번째 Exit Log파일이 삭제된 개연성이 높다.
2. TRTxWriteTraceClasses Class 파일을 기록한다.
3. TRTxstoreTRTxBuffer Trace가 물려있는 상태인지 알려준다.
[사용되지 않는 함수]
TRTxBufferWriteFFSIsNeededIsGSMExit7003GetNVTIndexToUse
큰 줄기는 GSMExitPreCrashDump 에서 진행
[optitrace화면상으로 보여주는 함수]
TRTxBufferDump
Name: TRTxBufferDumpDesc: Dump the last stored non-volatile trace from the FFS -> OptiTrace.Params: --Returns: --Caveats: This must be called from GSMExit, as there could be lots of data to send, and the trace buffer is only TR_NVT_BUFF_SIZE big.
1. Trace 청소2. !! NVT Trace Start 출력3. 버퍼공간 확보 ptr_TRTxBuffer4. TRACE_CLASS 파일에서 정보 읽어서 버퍼로 옮김 // TRTxBufferReadFFS 호출 내용 Reset Code 외 8k 정보 불량의 정보 #define TR_PUT_BUFF_SIZE /*32768 */ 8192 #define TR_GET_BUFF_SIZE 2048 /* 256 */ #define TR_PUT_BUFMASK ( TR_PUT_BUFF_SIZE - 1 ) #define TR_GET_BUFMASK ( TR_GET_BUFF_SIZE - 1 ) #define TR_NVT_BUFF_SIZE ( TR_PUT_BUFF_SIZE - 8 )
5. Trace 모드 전환 TRSetTransparent6. Buffer 해제7. fIdSaveTraceList 전역변수를 0으로 설정8. TRTxExtendedBufferDump 호출해서 Exit_log 0 출력
참고 PTE Command : CTNVTErrLog는 전역변수 fIdsaveTraceList를 지정하고 바로 TRTxExtendedBufferDump 을 호출해서 자기가 원하는 덤프파일을 볼 수 있음.
관련함수 TRTxBufferReadFFS, TRTxExtendedBufferDump
[ExitLog 저장하는 함수]
TRTxBufferGSMExitWriteFFS는 TRTxBufferSave 와 TRTxBufferWriteFFS 을 차례대로 호출하여 수행
1. TRTxBufferSave 버퍼설정하고 조건변수 TRWriteTxBufferFFSFlag 을 셋팅한다.2. TRTxBufferWriteFFS 버퍼의 내용을 기록한다. TraceLog 파일 삭제 // ERROR_TRACELOG TraceLog 파일 생성 후 ptr_TRTxBufferSave 에 있는 내용 쓰고 파일 닫기 ptr_TRTxBufferSave 버퍼 해제(할당은 TRTxBufferSave )3. TRCreateNVTTextStream ExitLog파일 5개 생성 및 Rename 수행4. TRWriteNVTTextStream 을 이용해서 0번째 ExitLog파일에 기록 Buffer가 가득찰때까지는 TRNVTTextStreamBuffer에 모았다가 Buffer가 가득차면 0번째 파일에 저장(Append Mode)5. 존재하는 0번째 Exit Log 파일을 열고 TRNVTTextStreamBuffer 내용을 TRNVTTextStreamIndex(버퍼크기) 만큼 기록한다.
[조건변수]TRWriteTxBufferFFSFlag/* set flag to indicate that NV traces have to be written to file system */storeTRTxBuffer/* Indicate if the mobile is tracing internally */
[관리함수]0. TRTxEraseNVTFile fIdSaveTraceList에 지정된 파일 하나를 삭제한다1. TRTxEraseAllNVTFiles 이름과 다르게 TraceLog삭제하고 fIdSaveTraceList에 지정된 파일 하나를 삭제한다. 기본적으로 0 이므로 첫번째 Exit Log파일이 삭제된 개연성이 높다.
2. TRTxWriteTraceClasses Class 파일을 기록한다.
3. TRTxstoreTRTxBuffer Trace가 물려있는 상태인지 알려준다.
[사용되지 않는 함수]
TRTxBufferWriteFFSIsNeededIsGSMExit7003GetNVTIndexToUse
댓글