2013-10-24 36 views
2

使用IAR IDE從C源代碼構建ARM可執行文件,我可以在相關窗口中看到反彙編,包括標籤,地址,操作碼和指令。如何將IAR IDE反彙編窗口內容保存到文件中?

我想轉儲一個地址範圍的內容到一個文本文件,但無法找到一種方法來做到這一點。窗口文本不可選,所以我不能使用複製/粘貼。沒有關聯的菜單可以實現這一點。

作爲替代方案,我可以生成列表,並彙編文件,但這些似乎只限於我的代碼,並且不包含CRT代碼或任何ROM的部分,這我感興趣的

任何轉儲選定地址範圍的方法?

回答

5

您想使用位於arm/bin下工作臺目錄中的ielfdumparm。以下是該工具的幫助。

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

我安裝的版本確實允許指定一個地址範圍:' - 範圍A-B反彙編指定範圍內的地址(從A到B)。「 –

+0

你介意我問什麼版本?我在版本中運行,但聽起來好像可以有一些很好的改進。 – rjp

+0

'IAR ELF Dumper V6.60.1.5097 for ARM' –

1

我使用Snagit來捕獲不可選的文本。 Snagit是一個屏幕快照工具(非常好)。除了製作經典屏幕截圖之外,它還支持捕獲文本並將其保存爲ASCII文本。它也可以自動滾動窗口來捕捉長文本。

也許這是值得一試。有30天的試用版可用。

+0

不錯,但是當代碼跨越1個以上的窗口長度時(正常情況下),那麼這會變得非常單調乏味。另外,它不是一個免費的工具;-) – ysap

+0

+1,但它* *提供了一些有限的解決方案。 – ysap

相關問題