Arm Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

46107
469
422678


[TRACE32] 메모리 덤프에서 검색(서치)하는 명령어: data.find! [Debugging] Tips

TRACE32를 사용하다 보면 메모리 덤프에서 특정 데이터를 검색하고 싶은 경우가 있습니다.
이 때는 data.find 명령어를 사용하면 됩니다.

다음은 TRACE32에서 릴리즈한 data.find 관련 스팩 문서(general_ref_d.pdf)의 내용입니다.

Format: Data.Find [<address_range> [%<format>] <data> | <string> [/<option>]]
<format>: Byte | Word | Long | Quad | TByte | HByte | Float .<format> | BE | LE
<option>: Back | NoFind

; search for byte 0x3f in the specified address range
Data.Find 0x100--0xfff 0x3f

; search the next byte x3f
Data.Find

; search for specified string
Data.Find 0x100--0xfff "Test"

; search for 32 bit value 0x00001234 in big endian mode
Data.Find 0x100++0xeff %Long %BE 0x1234

; search backward for 16 bit value 0x0089
Data.Find 0x100++0xeff %Word 0x89 /Back

; search for the float 1.45678 in IEEE format
Data.Find 0x4e00--0x4eff %Float.Ieee 1.45678

자, 그럼 0x80100000와 0x80200000 메모리 구간에 0xDEADBEEF 데이터를 검색하려면, 어떤 명령어를 입력해야 해야 할까요? 다음과 같이 입력하면 됩니다.

data.find 0x80100000--0x80200000 0xDEADBEEF

위와 같이 명령어를 입력하면 TRACE32에서 다음과 같은 결과 화면을 볼 수 있습니다.



Written by <디버깅을 통해 배우는 리눅스 커널의 구조와 원리> 저자





덧글

댓글 입력 영역