2014-03-21 4 views
0

리눅스 커널을 제거하려고하면, 리눅스 elf- 바이너리가 크기 때문에 시간이 오래 걸립니다.disassembly objdump를 사용하는 리눅스 커널

예를 들어 start_kernel 함수와 같이 함수 나 심볼 만 disassem 할 수 있습니까?

grep을 사용하는 것이 좋지 않습니다. 어쨌든 긴 시간이 걸리기 때문입니다.

답변

0

디버깅 기호가 포함 된 커널을 컴파일하지 않으면 objdump를 사용할 기호가 없습니다. 커널 바이너리가 특별히 옵션을 사용하여 컴파일하지 않으면 디버깅 심볼이 포함되어있을 가능성은 거의 없습니다.

커널 바이너리에 디버깅 기호가있는 경우 nm -g을 사용하여 찾은 다음 objdump -j <symbol>과 함께 사용합니다.

+0

-j 옵션은 섹션 용입니다. 그리고 기능을 위해 일하지 않습니다. – jaeyong

0

특정 기능이나 기호 만 분해 할 수는 없지만 전체 커널 이미지 대신 특정 개체 파일을 분해 할 수 있습니다.

ex.

objdump -DS XYZ.o > XYZ.S