首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >不同进程不同现象的问题分析

不同进程不同现象的问题分析

作者头像
用户5521279
发布于 2021-02-12 08:37:47
发布于 2021-02-12 08:37:47
5560
举报
文章被收录于专栏:搜狗测试搜狗测试

问题现象

高分屏下,***图标显示模糊

测试小A报了一个bug,高分屏下,输入***,输入法窗口中的***图显示模糊

Bug报出去之后,就会有开发小B喊话:你怎么出现的,我这里没有问题啊

于是找小C的机器看一下,结果小C的机器也没有问题

后来找了另外其他人的机器,尝试,只有一个是有问题的

小A陷入深深的疑惑,为何能在自己的机器上出现呢?这个环境没有什么特别的啊?输入法版本,系统版本,都是一样的

小D介入来协助定位问题,小D对问题进行了梳理,发现:

1)小A习惯性的在notepad中输入

2)开发小B在Word中查看的

3)小C在微信中查看的

4)其他人同样都是直接在当前使用的APP中直接查看的,有Word,有微信,有浏览器,5)同样存在问题的是在notepad输入的

看到这里,小D有了猜测:notepad中显示有问题

于是回到自己的机器上,打开了一个notepad,输入,发现没有问题o(╥﹏╥)o

为什么呢?

到小A的机器上,打开了Word,输入,发现没有问题,又打开了微信,也没有问题

至此,小D基本已经确认问题了,但是还存在一个疑问,为何自己机器上的notepad没有问题呢

回到自己的机器上,尝试了其他的APP,如Word,微信,浏览器,都没有问题

小D又梳理了一下问题的过程和情况,想到了一个可能性:难道是32位和64位的区别

于是小D打开了进程管理器,看了一下进程的情况,又从另外一个位置打开了notepad,输入,存在问题

问题解决

至此,小D完全定位了该问题,得出结论:

在64位进程中,显示有问题,在32位进程中,没有问题

开发小B顺着这个方向,很快找到问题原因:本次更新的64位的库文件更新失败了

问题分析

再次分析一下问题的过程:

1)报问题时,没有尝试其他进程

2)在其他机器尝试时,没有关注当前使用进程,以至于部分进程存在问题没有及时发现

3)对进程情况了解不足

默认情况下,notepad随系统,也就是说当前是64位系统,默认启动的是64位的notepad,而小D机器机器,之前进行过处理,经常启动的路径中是32位的notepad,QQ、微信这些都是32位的进程

总结

在输入法项目中,32位进程和64位进程有什么区别呢?有哪些需要注意的地方呢?

小D跟开发了解了一下问题的原因,只因为动态链接库

所有区分32位和64位的动态库都需要关注在32位APP和64位APP

32位的进程中,加载的是32位的动态库

64位的进程中,加载的是64位的动态库

不止是进程,同样还需要关注的还有32位系统和64位系统中的表现

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 搜狗测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
[PWN][高级篇]ROP-ret2libc-32/64位实例 (共四个)
32位思路: 1、想办法调用execve("/bin/sh",null,null) 2、传入字符串/bin///sh 3、体统调用execve eax = 11 ebx = bin sh_addr ecx = 0 edx = 0 int 0x80
李鹏华
2024/03/12
6060
[PWN][高级篇]ROP-ret2libc-32/64位实例  (共四个)
iOS的内存分布探究
最近遇到一些内存相关crash,排查问题过程中产生对进程内整个地址空间分布的疑惑。搜查了一番资料,网上关于Linux进程地址空间分布的介绍比较详细,但是iOS实际运行效果的比较少。 本文基于网上相关文章,进行实际测试,探究App实际运行过程中的地址分布。
落影
2021/07/20
1.6K0
iOS的内存分布探究
别再问我Python打包成exe了!(终极版)
上次这篇文章中,评论区有好几条留言都是关心如何将python脚本打包成10多M的?
朱小五
2021/01/20
1.7K0
Ubuntu 14.10/14.04 与 Debian 8/7 用户怎样安装 Notepadqq 0.41.0
Notepadqq 是一款开源记事本软件,是 Notepad++ 记事本的克隆版本,使用 QT 编写。其中Notepadqq的其他功能方面,支持最流行的编程语言高亮,搜索,通过正则表达式查找替换,实现分屏、书签、代码折叠等等。
用户8705039
2021/06/08
5440
Linux踩坑日记-No such file or directory
明明依赖文件(an excutable binary)是存在的,但执行却无法找到文件;这篇文章就来记录一下这个问题的解决过程
Kevinello
2022/10/31
6.9K0
Linux踩坑日记-No such file or directory
真正的干货!100多条Qt开发经验,解决你开发各种问题!
首先声明,本文并非原创,纯属搬运,内容来自一位叫做飞扬青春的大神的Gitee主页,主要是为了收藏下面介绍的100多个Qt开发经验。比如qss的ANSI编码、嵌套窗口中主窗口无法接收鼠标移动事件等,又比如我用qss设置窗口样式,但是项目每次重新构建以后,样式表就会不生效等问题,也花了自己不少时间去解决,所以在这里转发大神的经验,留作以后参考和逐条的研究,也分享给更多正在学习Qt或者正在使用Qt进行程序开发的朋友们。
麻烦成了精
2020/11/16
4.4K0
驱动里执行应用层代码之KeUserModeCallBack,支持64位win7(包括WOW64)
在驱动层(ring0)里执行应用层(ring3)代码,这是个老生常谈的技术,而且方法也挺多。
战神伽罗
2019/11/19
2.7K0
LINUX最大线程数及最大进程数
User limits – limit the use of system-wide resources.
全栈程序员站长
2022/07/15
4.8K0
C/C++:堆栈面面观
在数据结构中,我们也听过栈和堆这两种数据结构,当然和我本文要讲的东西是不同的概念。不过数据结构中的栈(算法、数学意义上的一种抽象),和本文中的栈(实际存在的存储区)有一共同之处就是FILO —— 先入后出。但是数据结构中的堆和我们本文中的堆则是毫不相干。
果冻虾仁
2021/12/08
5920
C/C++:堆栈面面观
IDA + Debug 插件 实现64Bit Exe脱壳
对于64位的可执行程序已经搞了好长一段时间了,但是却一直没有写点什么东西。前面的两篇文章仅仅是单纯的翻译,个人认为不管是32位还是64位的程序脱壳只要能到达程序的OEP就可以了。现在支持64位加壳的程序貌似也不多,这里以mpress压缩的64位系统下的64位notepad为例进行简单的演示。在《IDA + Bochs 调试器插件进行PE+ 格式DLL脱壳 》一问中提到了可以使用bochs调试器进行DLL文件脱壳。但是却没有办法进行64位EXE文件调试,启动调试之后由于代码完全识别错误,因为会出现异常导致无法调试。要想调试64位可执行程序目前只有通过远程调试的方式,使用Windbg插件同样是无法进行调试的。但是用windbg调试时将会提示如图1所示的信息:
obaby
2023/02/24
9140
Caused by: java.lang.UnsatisfiedLinkError: Can‘t load AMD 64-bit .dll on a IA 32-bit platform【已解决】
于是又查看了虚拟机的jdk(病急乱投医) 虚拟机的jdk也是64位的,一时不知道是哪里的错误了
是阿超
2021/10/15
1.4K0
py 打包exe
Python脚本不能在没有安装Python的机器上运行,如果我们想把自己的脚本分享给没有python环境的小伙伴使用,这个时候就需要将脚本打包成exe文件,即使使用方电脑没有安装python解释器,这个exe也能在上面运行。
花落花相惜
2021/12/04
1.5K0
关于PHP转换超过2038年日期出错的问题解决
最近在写一个项目接口。测试中发现服务器上测试正常的功能,在本地一直有问题。一步步的排查,最终锁定问题是由于函数strtotime返回了一个false值,导致数据插入数据库失败。
超级小可爱
2023/02/20
7520
万万没想到,一个可执行文件原来包含了这么多信息!
拿到一个编译好的可执行文件,你能获取到哪些信息?文件大小,修改时间?文件类型?除此之外呢?实际上它包含了很多信息,这些你都知道吗?
编程珠玑
2020/06/15
7590
动态加载so库的实现方法与问题处理
前一阵项目上要求实现App的so库动态加载功能,因为这块本来就有成熟的方案,所以一般的实现没什么难度。可是到项目测试中,才发现有不少意料之外的情况,需要一一针对处理,故此记录一下具体的解决办法,以供后来者参考。 按App加载so库的正常流程,在编译前就要把so文件放到工程的jniLibs目录,这样会把so直接打包进apk安装包,然后App在启动时就会预先加载so库。具体的加载代码一般是在Activity页面中增加下面几行,表示在实例化该页面的时候,一开始就从系统目录加载名为libjni_mix.so的库:
aqi00
2019/01/18
3.6K0
C#如何使用SQLite数据库兼容32位,64位系统
C#如何使用SQLite数据库兼容32位,64位系统 新建一个项目 使用VS2013新建一个WinForm应用程序,建立一个如下图所示的窗口,在窗口上面添加几个按钮,用来操作数据库,本文重点讲解如何使数据库同时兼容64位,32位操作系统的方法,所以只增加了一个增加到数据库的按钮。 使用Nuget工具包导入SQLite 使用NuGet程序包管理器,直接导入SQLite到项目,选择“工具”-》“NuGet程序包管理器”-》“管理解决方案的NuGet程序包” 之后再弹出的对话框中,搜索,SQLite直接选
企鹅号小编
2018/03/02
1.7K0
C#如何使用SQLite数据库兼容32位,64位系统
Sublime Text 3安装与使用
本文是Sublime Text 全程指引 by Lucida (http://www.cnblogs.com/figure9/p/sublime-text-complete-guide.html)的笔记,并添加了自己整理的一些内容,感谢原作者。
py3study
2020/01/10
1.3K0
OpenCV+VS开发环境配置
最近跑C程序,头文件中用到了OpenCV中的文件,找了很多篇OpenCV+VS的环境配置,发现如下这篇写的最为详细,特转载来自己的博客中留存,并附上原博客地址如下
闪电gogogo
2018/08/10
1.4K0
OpenCV+VS开发环境配置
模块已加载,但找不到入口点DLLRegisterServer[通俗易懂]
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说模块已加载,但找不到入口点DLLRegisterServer[通俗易懂],希望能够帮助大家进步!!!
Java架构师必看
2022/08/01
60.6K1
模块已加载,但找不到入口点DLLRegisterServer[通俗易懂]
关于进程虚拟内存
由于内存数据是固定的一个大数组,而操作系统往往是运行多个程序,如果这些程序都直接访问内存数组的话,就出现了以下问题:
仙士可
2022/02/18
2.2K0
关于进程虚拟内存
推荐阅读
相关推荐
[PWN][高级篇]ROP-ret2libc-32/64位实例 (共四个)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档