首页 > 其他分享 >调试心得

调试心得

时间:2024-09-05 11:37:23浏览次数:6  
标签:问题 WM Win7 THICKFRAME 兼容性问题 心得 虚拟机 调试

本文记录在调试显示兼容性问题上的心得体会。

问题背景

测试反馈在Win10系统上,界面顶部有额外空白区域,在Win7上正常。在本地虚拟机中验证,能够稳定复现问题。下面是整个问题的解决流程。

问题分析与定位

通过查阅代码改动记录,发现这个问题是引入 WM_THICKFRAME 属性导致的,增加这个属性是为了解决无法响应Win+方向键的问题,没想到引入了显示兼容性问题。考虑到无法去掉WM_THICKFRAME属性,只要尝试如何解决显示兼容性问题。

由于本机是Win7,问题在Win10系统,为了验证修改,必须要让Win10虚拟机能够访问到更新后的文件,通过 Vmware的共享目录功能可实现。后续遇到了,一旦在虚拟机中打开文件,在外部编译就会碰到无法覆盖文件的问题。起初,为了解决这个问题,采用重启、注销虚拟机等方法,造成修改-验证这个迭代时间较长,后来经过多次尝试,得到最快的验证方式如下:

  1. 在Win7上,删除改动受影响的exe或者dll,重新编译
  2. 在Win10虚拟机中,通过桌面快捷方式快速执行Win7共享目录中的程序
  3. 执行完毕后,回到流程1

最终,按照上面这个顺序,能够较快的进行修改-验证-再修改-验证的流程。

验证环境搭建好后,寻找解决方案,问题表现为在Win10上出现额外空白行,在Win7上正常。在中文资料中找遍了,没有解决方案,转向英文世界寻找,考虑到问题的引入是增加了 WM_THICKFRAME,于是先搜索 WM_THICKFRAME 关键字,看了下这个属性的详细解释,再输入
how to draw border with WS_THICKFRAME,得到如下结果:

image.png

从画框的两处可以看到,WM_THICKFRAME的属性解释以及在Stack Overflow上面的相关问题,在github网站也能看到相关问题:

image.png

通过上述两个链接,对于这个问题的解决就够了。但通过关键词的进一步提炼和优化,按照如下图所示的搜索,更快更好的定位问题。

image.png

通过阅读问题相关链接,在结合实际情况进行调整,问题即可解决。

小结

对于系统兼容性问题,要确定一点,你肯定不是第一个遇到的,世界上这么多人在使用这么多种系统,你遇到的问题别人肯定已经遇到过,并且有了相关解决方案,你要做的是如何找到这些解决方案。

在中文网络世界寻找兼容性问题的解决方案是不靠谱的,不要在此浪费时间。

通过代码和异常现象来提取关键字,如 WM_THICKFRAME 和 white border ,务必要在Google上搜,BingBaidu什么的都不行。

标签:问题,WM,Win7,THICKFRAME,兼容性问题,心得,虚拟机,调试
From: https://www.cnblogs.com/cherishui/p/18398028

相关文章

  • 数据结构总结心得
    1.在数据结构数据的概念中,数据的最小单位是数据项2.数据结构中的存储结构分为顺序存储结构和链式存储结构  从逻辑上可分为线性结构和非线性结构3.带头结点的单链表head为空的条件是head->next=NULL4.在具有n各个元素的循环队列中,队满时具有n-1个元素5.栈的入栈操......
  • 使用GDB调试(上篇:配置、分析core文件)
    在Linux系统中配置生成用于GDB分析的coredump(核心转储)文件,可以按照以下步骤进行:步骤1:核心转储使能设置首先,你需要确认系统的核心转储设置是否符合要求。可以通过以下命令检查当前设置:bashCopyCodeulimit-c1.临时配置这个命令会显示核心转储文件的最大......
  • 使用GDB调试(下篇:调试应用)
    在GDB(GNUDebugger)中,有一些常用的调试命令可以帮助你在调试过程中检查程序的状态、执行程序、设置断点等。以下是一些常用的GDB调试命令: 1.启动程序和执行控制: run:启动正在调试的程序。 continue(c):继续执行程序,直到遇到下一个断点或者程序结束。 next(n)......
  • Windows 全部调试符号包下载
    Windows_RS3.16299.15.170928-1534.x64FRE.Symbols.msiWindows_RS3.16299.15.170928-1534.X86FRE.Symbols.msihttps://download.microsoft.com/download/6/9/C/69C86A1F-C8E9-4F28-B6FC-9FA2BCE98BC0/Windows_Rs2.15063.0.170317-1834.x64FRE.Symbols.msihttps://download.mic......
  • 浏览器串口助手插件,web版本串口调试助手浏览器插件 Web Serial Online 发布
    WebSerialOnline:串口调试的新时代在数字化不断进步的今天,开发者和工程师面对单片机如ESP8266、ESP32以及RS485设备的调试任务时,往往需要便捷而高效的工具。我们最近推出的浏览器插件——WebSerialOnline,旨在简化这一流程,提供一个无缝且直观的解决方案。即插即用的高效工具......
  • 推荐一款开源、高效、灵活的Redis桌面管理工具:Tiny RDM!支持调试与分析功能!
    1、引言在大数据和云计算快速发展的今天,Redis作为一款高性能的内存键值存储系统,在数据缓存、实时计算、消息队列等领域发挥着重要作用。然而,随着Redis集群规模的扩大和复杂度的增加,如何高效地管理和运维Redis数据库成为了许多开发者和运维人员面临的挑战。TinyRDM(TinyRedisDes......
  • 计算机毕业设计 二手闲置交易系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解
    ......
  • 爬虫转型测试的心得分享
    一:那些爬虫知识可以留下,在测试中进行使用1、请求方式-请求头-响应头get请求与post请求的理解:最大的区别在于:get请求的参数跟在url地址后,而post请求需要提交参数表单在浏览器的开发者工具中的负载下的参数,就是post请求需要的参数信息2、请求头这些内容需要理解这些是......
  • JSP街道疫情防控物资调配系统h8rp2(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:用户,物资类型,物资信息,物资申请,物资入库,物资调配技术要求:开发语言:JSP前端使用:HTML5,CSS,JSP动态网页技术后端使用SpringBoot,Spring技术主数据......
  • JSP教育分享系统705bw程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:学生,实验分类,实验系统,资源类型,资源信息,精品课堂,课程分类,课堂笔记,提交实验,实验批改,通知信息技术要求:开发语言:JSP前端使用:HTML5,CSS,JSP动态......