Simics开启启动时反向执行后运行qsp-x86的firststeps.simics报错
问题根因
该报错是Intel Simics 6旧版本(build 6103、qsp-x86 6.0.44)的已知启动时序缺陷:
开启「启动时启用反向执行」偏好设置后,Simics会在Python运行环境、核心命令API未完全初始化的阶段就执行反向执行开启逻辑,此时
enable_rev_exec内部依赖的run_command全局方法还未被注册到Python命名空间,触发NameError,后续组件实例化失败进一步触发内存访问违规,导致软件崩溃。
你观察到的「关闭开机自启选项、手动加载脚本后再开反向执行就正常」的现象正好验证了这个时序问题:脚本加载完成后Simics的所有API已经完成初始化,调用开启逻辑不会出现依赖缺失的问题。
解决方案
- 【最便捷临时方案】保持偏好设置中「Enable reverse execution on startup」的勾选取消,每次启动Simics并完成目标脚本加载后,手动执行
enable-reverse-execution命令开启反向执行功能,所有反向执行相关能力不受影响。 - 【永久修复方案】将Simics主程序升级到6 build 6375及以上版本,同步配套升级qsp-x86组件包到6.0.60及以上版本,Intel官方已在后续版本中修复了该启动时序缺陷,升级后可正常使用开机自动开启反向执行的功能。
- 【旧版本免手动操作方案】如果不想升级版本,可以通过自定义启动脚本实现自动开启:
- 在你的Simics项目目录
C:\Users\jimmy\simics-projects\my-simics-project-1下新建名为auto-start.simics的文件 - 文件内写入两行内容:
run-command-file targets\qsp-x86\firststeps.simics enable-reverse-execution - 后续启动Simics时执行命令
simics.bat -x auto-start.simics,即可实现自动加载脚本并开启反向执行,无需手动操作。
- 在你的Simics项目目录
内容的提问来源于stack exchange,提问作者Jimmy Wu
相关产品推荐
相关产品推荐

