ELF 단면 및 기호의 크기를 분석하는 도구
ARM용 GCC 컴파일러 출력 파일을 분석할 방법이 필요합니다.저는 베어 메탈을 편집하고 있으며 크기에 대해 상당히 신경을 쓰고 있습니다.사용할 수 있습니다arm-none-eabi-objdump
크로스 컴파일러에서 제공하지만 출력을 구문 분석하는 것은 이 작업을 위한 도구가 있다면 제가 하고 싶은 일이 아닙니다.당신은 그런 도구가 존재한다는 것을 알고 있습니까?검색 결과가 없습니다.
한 가지 더, 내 코드의 모든 함수는 자체 섹션에 있습니다.
사용할 수 있습니다.nm
그리고.size
함수 및 ELF 섹션의 크기를 가져옵니다.
함수의 크기(및 정적 저장 기간이 있는 개체)를 가져오려면:
$ nm --print-size --size-sort --radix=d tst.o
두 번째 열은 함수와 개체의 크기를 십진수로 표시합니다.
섹션의 크기를 가져오려면:
$ size -A -d tst.o
두 번째 열에는 섹션의 크기가 십진수로 표시됩니다.
readelf 유틸리티는 다음과 같은 섹션 크기를 포함한 다양한 섹션 정보를 표시하는 데 유용합니다.
arm-none-eabi-readelf -e foo.o
런타임 메모리 설치 공간에 관심이 있는 경우 'A'(할당) 플래그가 설정되지 않은 섹션을 무시할 수 있습니다.
10년 후 이 질문을 다시 방문할 때는 readelf 및 nm에 대한 작은 Python 기반 래퍼를 언급해야 합니다. 이 래퍼는 자체 크기 분석입니다.
puncover
용도objdump
html 페이지를 생성하는 몇 가지 다른 gcc 도구를 사용하면 코드와 데이터 공간이 어디로 가는지 쉽게 찾을 수 있습니다.
gcc 도구의 텍스트 출력보다 훨씬 더 좋은 프론트엔드입니다.
언급URL : https://stackoverflow.com/questions/11720340/tool-to-analyze-size-of-elf-sections-and-symbol
'bestsource' 카테고리의 다른 글
레일즈의 환경에서 Rake 작업에 인수를 전달하는 방법은 무엇입니까? (0) | 2023.06.18 |
---|---|
배치 파일에서 절전 중 (0) | 2023.06.18 |
Vuex 계산 속성은 경로가 변경된 후 다시 변경된 경우에만 업데이트됩니다. (0) | 2023.06.18 |
회피된 막대 그래프에 gem_text 위치 (0) | 2023.06.18 |
Oracle 열에 대한 자동 수정 타임스탬프 유형이 있습니까? (0) | 2023.06.13 |