如何从Keil uVision 5导出带交错源码的反汇编窗口内容?
在Keil uVision 5中导出交错源码与汇编的反汇编内容
以下是几种可行的方法,帮你导出反汇编窗口中那种源码与汇编交错显示的内容,避免手动解析.lst文件的繁琐:
1. 手动复制粘贴(快速应急)
调试时暂停程序,调整反汇编窗口布局确保源码和汇编指令完整显示。直接用Ctrl+A选中窗口全部内容,复制后粘贴到文本编辑器保存即可。这种方法适合小范围代码导出,操作简单但效率较低。
2. 调试命令行直接导出
在调试模式下打开View -> Command Window,输入disasm命令并指定输出文件,就能导出指定范围的交错反汇编内容:
- 导出单个函数的内容:
disasm main > main_disasm.txt
- 导出指定地址范围的内容:
disasm 0x08000000, 0x08001000 > full_disasm.txt
执行命令后,文件会生成在项目根目录下,打开就能看到和反汇编窗口一致的交错源码与汇编内容。
3. 调试脚本批量导出
如果需要频繁导出或导出多个范围的内容,可以编写Keil调试脚本:
- 新建文本文件(比如
export_disasm.ini),写入以下内容:
; 导出main函数的反汇编 disasm main > main_disasm.txt ; 导出指定地址段的反汇编 disasm 0x08001000, 0x08002000 > section_disasm.txt
- 在调试模式下点击菜单栏
Debug -> Execute Script,选择该脚本执行,就能自动生成多个导出文件。
关键注意事项
必须确保项目编译时开启调试信息:打开Project -> Options for Target,在Output选项卡勾选Debug Information,同时在C/C++选项卡启用调试相关编译选项,这样反汇编才会关联并显示源码。
内容的提问来源于stack exchange,提问作者Vlad Gheorghiu
相关产品推荐
相关产品推荐

