2013-10-24 3 views
2

C 소스에서 ARM 실행 파일을 빌드하는 데 IAR IDE를 사용하여 레이블, 주소, 연산 코드 및 지침을 관련 창에 포함하여 디스 어셈블리를 볼 수 있습니다.IAR IDE 디스 어셈블리 창 내용을 파일로 저장하는 방법은 무엇입니까?

주소 범위의 내용을 텍스트 파일로 덤프하려고 시도하지만이를 수행 할 방법을 찾을 수 없습니다. 창 텍스트는 선택할 수 없으므로 복사/붙여 넣기를 사용할 수 없습니다. 이를 가능하게하는 관련 메뉴가 없습니다. 대안으로

, 나는 목록 및 어셈블리 파일을 생성 할 수 있지만,이 내 코드로 제한하는 것, 그리고 내가 관심 오전 CRT 코드 또는 ROM 섹션을 포함하지 않습니다.

하나를 선택한 주소 범위를 덤프하는 방법은 무엇입니까?

답변

5

ielfdumparm을 사용하려면 workbench 디렉토리의 arm/bin 아래에 위치해야합니다. 이 도구에 대한 도움말입니다.

Usage:   IElfDump input_file [output_file] 

Available command line options: 
--all   Dump all sections 
--code   Dump only code sections 
--no_header  Do not produce a list header 
--no_rel_sections 
       Do not output associated .rel sections 
--no_strtab  Do not include strtab sections 
--output file 
-o file   Name of text file to create 
--raw   Use raw text format 
--section #|name[,...] 
-s #|name[,...] Dump only section(s) with given numbers/names 
--source  Include source in disassembled code in executables 
--use_full_std_template_names 
       Don't use short names for standard C++ templates 
-a    All sections, except strtab sections 
-f file   Read command line options from file 

는 디버그 뷰와 비슷한 출력이, 당신의 데이터 공간을 덤핑 방지하기 위해 --code을 제안 얻으려면, 그리고 --source는 원래 C 어셈블리에 짠 포함하도록.

섹션을 지정할 수는 있지만 주소 범위를 지정할 수는 없습니다. 다른 ELF 도구와이 파일을 조합하여 특정 주소 범위를 추출한 다음이 도구를 실행할 수도 있습니다. 또는 주소 순서대로 덤프하므로 전체 ELF 파일을 덤프 한 다음 원하는 주소 범위 만 볼 수 있습니다.

+0

내가 설치 한 버전에서 주소 범위를 지정할 수 있습니다 :'--range A-B 지정된 범위 (A에서 B까지)의 주소 만 분해하십시오. ' –

+0

버전을 물어봐도 될까요? 나는 버전에서 뒤쫓아 다니고 있지만 좋은 개선이있을 것 같은데. – rjp

+0

ARM 용 IAR ELF Dumper V6.60.1.5097 –

1

나는 선택할 수없는 텍스트를 캡처하기 위해 Snagit을 사용합니다. Snagit은 화면 스냅 샷 도구 (아주 좋은 도구)입니다. 클래식 스크린 샷을 만드는 것 외에도 텍스트를 캡처하여 ASCII 텍스트로 저장할 수 있습니다. 또한 긴 텍스트를 캡처하기 위해 창을 자동으로 스크롤 할 수 있습니다.

아마도 시도해 볼 가치가 있습니다. 사용할 수있는 30 일 평가판이 있습니다.

+0

좋은데, 코드가 1 개 이상의 윈도우 길이에 걸쳐있을 때 (보통 경우처럼), 이것은 매우 지루할 수 있습니다. 게다가, 그것은 무료 도구가 아닙니다 ;-) – ysap

+0

+1, 문제의 제한된 해결책을 제공합니다. – ysap

관련 문제