相信每个从事SAP的顾问都会遇到这样的场景:听着歌,录着SAP数据,写着ABAP代码,突然一切都消失了。

是的,SAP GUI又崩溃闪退了。

可能你还一脸懵逼不知道发生什么事情,当你重新登录系统的时候却发现自己的账号卡在系统里面,甚至锁定部分单据,辛辛苦苦码的代码都来不及的保存。

(查看权限数据,退出关闭窗口,闪退)

SAP GUI闪退现象缠绕着每个使用SAP的人,IT每天都要忍着用户的吐槽、开发人员早已习惯写一行代码就按一次Ctrl+S、用户在批导单据的时候默默祈祷一切顺利不闪退。

久而久之,闪退现象导致用SAP的用户都产生了一种不安全感,慢慢地就以为ERP系统也许就是这样子吧。甚至面对闪退已经心不惊眼不跳,就当是系统产生了人工智能,知道用户辛苦,就自我退出强制用户休息。

不过作为“兼职”Basis的我,对这闪退现象已经忍无可忍,每天一千多次的闪退记录极大摧毁了用户的好感,被用户在群里艾特到怀疑人生。

每天特别害怕用户说道:

以前旧系统都不会闪退,为何现在这么频繁?
以前也出现闪退现象,后来调了一个参数就解决了。
作为Basis,你要解决这个问题啊!

--好吧,那就来解决这个问题吧--

经过大量的系统崩溃闪退日志分析,反复试验,重装系统N次,卸载重启安装各种输入法N次,终于确定了SAP GUI闪退的原因来源于一些中文输入法。

6月份我在SAP官网提交了一个Incidents,说明了这个问题、所使用的版本和记录到的系统日志:

同时在微博上也跟输入法官方取得了联系:

SAP官方支持顾问安装输入法之后也重现了这个现象,之后他们技术部门给我一个捕获闪退事件的工具ADPlus,让我上传跟踪trace文件:

发过去之后,SAP技术部一阵猛如虎地分析——暂时也没发现问题在哪里。几天之后他们将问题提交给了美国微软总部:

另一边,输入法工程师也暂时找不到问题在哪里,毕竟闪退的不是输入法程序:

几天之后微软总部回复说需要安装Windows11最新系统和补丁,关闭输入法的“兼容旧时功能”,但这根本解决不了问题:

一来二去扯了接近一个月,最后美国微软总部工程师丢给我一个抓崩溃闪退代码的工具PartnerTTDRecorder和捕获命令:

按照指示,我成功抓取到了闪退代码文件,提交给了SAP和微软总部:

又等了足足半个月,微软终于回复并明确了是输入法在执行初始化组件CoCreateInstance时导致的问题,最后给出了具体导致闪退的BUG Note。

有了这个信息,我再次找到输入法工程师,他们根据微软提供的Bug信息很快找到了发生闪退的那段代码,很容易就修复了:

他们快速编译了一个内部测试的版本,经过安装试用,原来100%会崩溃闪退的操作画面都已经不发生了!

由此折腾了两个月,持续多年并困扰了所有SAP顾问和用户的崩溃闪退问题彻底找到原因并得到了解决!

(更新输入法之后,已经不闪退了)

发现和解决疑难杂症是一个非常艰辛的过程,你永远都不知道目标和方向在哪里,辛苦花费时间和精力是否会有结果。

但只有坚持不懈,持之以恒,总能遇见曙光。

现在,我终于可以说我总算为这个行业做了一丢丢的贡献了~

注:输入法最新更新版本预计会在8月底发布...

困扰所有SAP顾问多年的问题终于解决了的更多相关文章

  1. 困扰了2天的问题,终于解决了。VB6的MSComCtl.ocx在32位Win7显示对象库未注册

    解决方案在这里,中文的资料真的挺垃圾的.(重启几次之后又不行了....怎么回事???) 安装.net framework4.0以上版本, C:\Windows\System32, C:\Windows ...

  2. 一个SAP顾问在美国的这些年

    今天的文章来自我的老乡宋浩,之前作为SAP顾问在美国工作多年.如今即将加入SAP成都研究院S4CRM开发团队.我们都是大邑人. 大邑县隶属于四川省成都市,位于成都平原西部,与邛崃山脉接壤.东与崇州市交 ...

  3. SAP顾问发展

    关于SAP顾问发展的话题也不仅仅是一次的谈起,但是我想对于自己的规划很多人是否有没有深刻的考虑过.这对于你我来说都非常的重要,那么作为我来说,我仅仅把自己的观点阐述以供大家思考,希望对大家能有所帮助. ...

  4. 从SAP顾问猝死事件谈顾问加班

    今天朋友圈盛传一则消息,说是南瑞集团的一名名为牛耕耘的SAP顾问因为工作强度大,连续不分昼夜加班而猝死在工作岗位上,遗留下年迈的父母.体弱的妻子.刚满周岁的孩子和巨额的债务.我无法证实该消息的真伪,但 ...

  5. 终于解决了一个Win7 下 VS 编译的问题,困扰了我好几个月

    用 Win7 一年多了,一直在这个环境下编程,其他都挺好,就是有个问题非常恶心,在VS下编译经常出现进程正在使用,无法覆盖的错误,这个问题我记得博问中以前也有其他人遇到过,也没有解决掉.此问题困扰了我 ...

  6. 非常的奇葩,终于解决了硬盘从盘盘符消失的问题 http://bbs.gamersky.com/thread-1712710-1-1.html (出处: 游民星空论坛)

    本人用电脑也十多年了,硬盘的问题也碰到过不少.但最近却碰到了一个很奇葩的问题.就是安装了一块全新的SSD硬盘当从盘,但在装上之后,在我的电脑中却不显示,没有盘符.不过打开系统磁盘管理却能显示硬盘信息. ...

  7. mysql 去除重复 Select中DISTINCT关键字的用法 在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是 distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,

      在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记 ...

  8. PhpStorm 2016.3 For Mac 重大里程碑更新 -- 终于解决了不能输入中文标点符号的重大bug

    PhpStorm 2016.3 For Mac 重大里程碑更新 1.[终于解决了]不能输入中文标点符号的重大bug,如 逗号“,”.“.”: 2.可以在一个窗体中,同时打开多个项目: 3.其他... ...

  9. 终于解决了IE8不支持数组的indexOf方法,array的IndexOf方法

    /* 终于解决了IE8不支持数组的indexOf方法 */ if (!Array.prototype.indexOf) { Array.prototype.indexOf = function (el ...

随机推荐

  1. Docker运行资源控制

    概述 ​ 一个 docker host 上会运行若干容器,每个容器都需要 CPU.内存和 IO 资源.对于 KVM,VMware 等虚拟化技术,用户可以控制分配多少 CPU.内存资源给每个虚拟机.对于 ...

  2. 《HALCON数字图像处理》第一、二章笔记

    目录 第一章 绪论 1.1 图像和图像处理 1.1.1 图像 1.1.2 数字图像 1.1.3 图像处理及其发展过程 1.2 数字图像处理的步骤和方法 1.3 数字图像处理系统的硬件组成 1.4 数字 ...

  3. point pair feature在2D图像匹配中的应用

    point pair feature在2D图像匹配中的应用 point pair feature(ppf) @article{BertramDrost2010ModelGM, title={Model ...

  4. Linux离线包管理器RPM

    Linux离线包管理器RPM RPM 是RedHat Package Manager(RedHat软件包管理工具). 1.rpm常用参数介绍 查看rpm是否安装 rpm -q rpm包名 [root@ ...

  5. 软件项目管理 7.5.项目进度模型(SPSP)

    [公众号@ "项目管理研究所" 将会第一时间更新文章并分享<行业分析报告>] 归档于软件项目管理初级学习路线 第七章 软件项目进度计划 你猜猜里面是什么-->&l ...

  6. 从 CPU 讲起,深入理解 Java 内存模型!

    Java 内存模型,许多人会错误地理解成 JVM 的内存模型.但实际上,这两者是完全不同的东西.Java 内存模型定义了 Java 语言如何与内存进行交互,具体地说是 Java 语言运行时的变量,如何 ...

  7. 命令行工具tabby--gi t仓库Token的使用

    命令行工具tabby--git仓库Token的使用 欢迎关注H寻梦人公众号 前言 再见 Xshell !这款开源的终端工具逼格更高! 终端神器--Tabby Terminal electerm is ...

  8. java基础知识面试总结-部分

    前言 在平时的工作学习中,自己对微服务和springboot基础理论知识关注比较少,在面试中对于面试官的问题,很多基本都不能够达到精准,全面:现将自己面试中的问题做以总结: 1.谈谈你对微服务架构的认 ...

  9. 全网求解,用Python处理一个基础题目

    昨天在群里看见一个Python的问题,趁着今天有那么一点点时间,就想把这个题目分享出来,让大家一起解决.毕竟三个臭皮匠,赛过诸葛亮.原始数据如下: 1 origin_lst = [0, 0, 1, 2 ...

  10. docker安装node

    #1.拉取镜像 docker pull node:latest #2.运行 docker run -itd --name node-test --restart=always node #--rest ...