You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows平台Qiling仿真崩溃问题技术求助

Qiling仿真代码执行崩溃:Invalid memory read(UC_ERR_READ_UNMAPPED)

问题描述

数月前可正常运行的Qiling仿真代码及CPP编译生成的exe,如今执行时直接崩溃,错误提示为Invalid memory read (UC_ERR_READ_UNMAPPED)。本人尝试修复但对Qiling框架了解有限,怀疑该问题与项目的#1594 issue相关。

相关材料

仿真代码

# 此处填入用户提供的仿真代码内容

CPP源码

// 此处填入用户提供的CPP源码内容

执行日志

此处粘贴用户提供的执行日志内容

预期行为

原本可正常完成仿真流程,无崩溃报错,能得到预期的程序输出或执行结果。

排查与修复建议

  • 检查内存映射配置:确认仿真代码中是否正确映射了目标exe需要访问的所有内存区域,尤其是新增的内存访问点。可在崩溃前添加内存映射检查逻辑,验证触发错误的内存地址是否已被纳入Qiling虚拟空间。
  • 核对Qiling版本差异:对比此前正常运行时的Qiling版本与当前版本的代码变更,重点查看#1594相关的内存管理、Unicorn引擎交互逻辑修改,按需调整仿真代码以适配新的内存处理规则。
  • 跟踪内存访问路径:开启Qiling调试模式(ql.debugger = True)或自定义内存访问钩子函数,在崩溃点打印上下文的内存地址、寄存器状态,定位触发未映射内存读取的具体代码段。
  • 验证编译环境一致性:确认当前编译CPP exe的编译器版本、编译选项与之前是否一致,部分选项变更可能导致exe内存布局改变,超出原仿真代码的内存映射范围。

内容的提问来源于stack exchange,提问作者farhan jatt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 12:42:33