WinCE5.0 运行异常提示:0x80000002解决过程

简介:

场景

    将代码移植到Wince5.0系统上,芯片框架是mips,之前的代码在x86和arm等架构上运行正常。显示bmp位图的时候会弹出窗口提示:异常:0x80000002错误提示


步骤

1)

    通过VS错误查询工具得到的结果是:内存已经用完,实际上还有内存可以申请

2)

    尝试加载小图片,无效

3)

    不加载图片,成功显示

4)

    尝试在其他的地方可以申请到8MB的内存

5)

    通过日志输出,定位到bmp位图的结构体赋值的过程中,出现错误,初步怀疑是栈溢出,但是如果省去不调用,还是可以执行成功的

6)

    百度过程中,发现该错误提示还有一层含义:

程序读取一个未经对齐的数据时引发的异常 EXCEPTION_DATATYPE_MISALIGNMENT 属于硬件异常

7)

    原来bmp位图的结构体的头部是一个14个字节的结构体,里面的变量并没有进行字节的对齐,属于非对齐的地址访问,所以有些不对齐的b变量不能够直接访问,需要将数据通过memcpy逐个字节拷贝出来,然后拼凑成完整的属性。

  //在mips架构下不支持非对齐数据访问,bmp位图头部是14个字节,不符合4个字节对齐访问,因此采用字节拷贝的方式进行访问

  int offsetWidth = (int)&((PBITMAPINFOHEADER)0)->biWidth;

  memcpy(&(dest->m_width), offset + offsetWidth, sizeof(LONG));

  int offsetHeight = (int)&((PBITMAPINFOHEADER)0)->biHeight;

  memcpy(&(dest->m_height), offset + offsetHeight, sizeof(LONG));






    本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/1880092,如需转载请自行联系原作者


相关文章
|
存储 安全 数据库
python ras 私钥加密
【4月更文挑战第10天】
484 2
|
关系型数据库 MySQL 网络安全
KaliLinux常见问题与解决方案
KaliLinux常见问题与解决方案
1298 2
|
4月前
|
SQL 人工智能 自然语言处理
别让你的大模型被忽悠了,聊聊prompt注入攻击
本文探讨了Prompt工程中的隐私与安全问题,重点分析了“奶奶漏洞”及更广泛的Prompt攻击现象,特别是Prompt注入的原理与防御手段。Prompt注入通过构造恶意输入突破模型限制,使LLM执行非预期操作。文章介绍了直接注入和间接注入类型,并提供了多种防御方案,如输入过滤、强化系统指令、接入第三方校验库及多模型协作防御。此外,还讨论了Prompt逆向工程及其正负影响,以及恶意MCP服务投毒的实际案例,如GitHub Copilot漏洞。最后提出了动态权限控制和持续安全监测等解决策略。
成功解决UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 130: invalid continuation b
成功解决UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 130: invalid continuation b
成功解决UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 130: invalid continuation b
|
12月前
|
存储 监控 安全
深入解析Sysmon日志:增强网络安全与威胁应对的关键一环
在不断演进的网络安全领域中,保持对威胁的及时了解至关重要。Sysmon日志在这方面发挥了至关重要的作用,通过提供有价值的见解,使组织能够加强其安全姿态。Windows在企业环境中是主导的操作系统,因此深入了解Windows事件日志、它们的独特特性和局限性,并通过Sysmon进行增强,变得至关重要。
298 1
|
C++ iOS开发 开发者
C++一分钟之-文件输入输出(I/O)操作
【6月更文挑战第24天】C++的文件I/O涉及`ifstream`, `ofstream`和`fstream`类,用于读写操作。常见问题包括未检查文件打开状态、忘记关闭文件、写入模式覆盖文件及字符编码不匹配。避免这些问题的方法有:检查`is_open()`、显式关闭文件或使用RAII、选择适当打开模式(如追加`ios::app`)以及处理字符编码。示例代码展示了读文件和追加写入文件的实践。理解这些要点能帮助编写更健壮的代码。
184 2
|
弹性计算 Cloud Native 数据可视化
99元建站+云服务器?我们认真的!
「云·原生建站 」+「云服务器ECS e实例」套餐低至0.2折,仅需99元/首年!复制链接直达购买页:https://market.aliyun.com/xinxuan/pinpai1
1284 0
99元建站+云服务器?我们认真的!
Qt在线安装时出现网络错误的解决办法(Windows)
Qt在线安装时出现网络错误的解决办法(Windows)
|
存储 安全 虚拟化
虚拟机检测技术剖析
作者:riusksk (泉哥) 主页:http://riusksk.blogbus.com 前言 在当今信息安全领域,特别是恶意软件分析中,经常需要利用到虚拟机技术,以提高病毒分析过程的安全性以及硬件资源的节约性,因此它在恶意软件领域中是应用 越来越来广泛。
1544 0