困扰所有SAP顾问多年的问题终于解决了
相信每个从事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顾问多年的问题终于解决了的更多相关文章
- 困扰了2天的问题,终于解决了。VB6的MSComCtl.ocx在32位Win7显示对象库未注册
解决方案在这里,中文的资料真的挺垃圾的.(重启几次之后又不行了....怎么回事???) 安装.net framework4.0以上版本, C:\Windows\System32, C:\Windows ...
- 一个SAP顾问在美国的这些年
今天的文章来自我的老乡宋浩,之前作为SAP顾问在美国工作多年.如今即将加入SAP成都研究院S4CRM开发团队.我们都是大邑人. 大邑县隶属于四川省成都市,位于成都平原西部,与邛崃山脉接壤.东与崇州市交 ...
- SAP顾问发展
关于SAP顾问发展的话题也不仅仅是一次的谈起,但是我想对于自己的规划很多人是否有没有深刻的考虑过.这对于你我来说都非常的重要,那么作为我来说,我仅仅把自己的观点阐述以供大家思考,希望对大家能有所帮助. ...
- 从SAP顾问猝死事件谈顾问加班
今天朋友圈盛传一则消息,说是南瑞集团的一名名为牛耕耘的SAP顾问因为工作强度大,连续不分昼夜加班而猝死在工作岗位上,遗留下年迈的父母.体弱的妻子.刚满周岁的孩子和巨额的债务.我无法证实该消息的真伪,但 ...
- 终于解决了一个Win7 下 VS 编译的问题,困扰了我好几个月
用 Win7 一年多了,一直在这个环境下编程,其他都挺好,就是有个问题非常恶心,在VS下编译经常出现进程正在使用,无法覆盖的错误,这个问题我记得博问中以前也有其他人遇到过,也没有解决掉.此问题困扰了我 ...
- 非常的奇葩,终于解决了硬盘从盘盘符消失的问题 http://bbs.gamersky.com/thread-1712710-1-1.html (出处: 游民星空论坛)
本人用电脑也十多年了,硬盘的问题也碰到过不少.但最近却碰到了一个很奇葩的问题.就是安装了一块全新的SSD硬盘当从盘,但在装上之后,在我的电脑中却不显示,没有盘符.不过打开系统磁盘管理却能显示硬盘信息. ...
- mysql 去除重复 Select中DISTINCT关键字的用法 在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是 distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,
在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记 ...
- PhpStorm 2016.3 For Mac 重大里程碑更新 -- 终于解决了不能输入中文标点符号的重大bug
PhpStorm 2016.3 For Mac 重大里程碑更新 1.[终于解决了]不能输入中文标点符号的重大bug,如 逗号“,”.“.”: 2.可以在一个窗体中,同时打开多个项目: 3.其他... ...
- 终于解决了IE8不支持数组的indexOf方法,array的IndexOf方法
/* 终于解决了IE8不支持数组的indexOf方法 */ if (!Array.prototype.indexOf) { Array.prototype.indexOf = function (el ...
随机推荐
- Git 不识别文件名字母大小写变化
问题 今天为一个项目撰写持续构建计划,撰写 Jenkinsfile 之后进行构建时报错: [2022-05-23 16:54:21] unable to prepare context: unable ...
- boost::bind 不能处理函数重载 (error: no matching function for call to 'bind')
前言 最近任务多.工期紧,没有时间更新博客,就水一期吧.虽然是水,也不能太失水准,刚好最近工作中遇到一个 boost::bind 的问题,花费了半天时间来定位解决,就说说它吧. 问题背景 项目中使用了 ...
- 中国程序员容易发错音的单词「GitHub 热点速览 v.22.23」
中国程序员容易发错音的单词,像极了学生时代的纠错本,收录着偶尔会忘记的单词.不过,它似乎更新频率跟不上我们的进步速度,至少一半以上的单词读起来是没有压力的.同样没有压力的还有让应用程序动起来的 aut ...
- k8s中label和label selector的基本概念及使用方法
1.概述 在k8s中,有一个非常核心的概念,就是label(标签),以及对label的使用,label selector. 本文档中,我们就来看看:1.什么是标签,2.如何定义标签,3.什么是标签选择 ...
- Egg上层框架CabloyJS是如何输出SQL语句日志的?
背景 在Egg开发实践中,经常会遇到一个问题:如何查看刚刚执行过的Egg组装的原生SQL语句呢? 1. 现有方案 可以直接在项目的config配置文件中添加MySQL配置debug: true.这会启 ...
- 一文澄清网上对 ConcurrentHashMap 的一个流传甚广的误解!
大家好,我是坤哥 上周我在极客时间某个课程看到某个讲师在讨论 ConcurrentHashMap(以下简称 CHM)是强一致性还是弱一致性时,提到这么一段话 这个解释网上也是流传甚广,那么到底对不对呢 ...
- 腾讯QQ快捷登陆
腾讯QQ快捷 相关各语言对接qq快捷登录教程 [C#]QQ开放平台(QQ站外登录)_流程和源码示例 j2ee中实现QQ第三方登陆 web实现QQ第三方登录 asp.net网站接入QQ登录 php实现q ...
- .NET中的 Count()、Count、Length 有什么不同
更新记录 2022年4月16日:本文迁移自Panda666原博客,原发布时间:2021年7月15日. Count().Count.Length,都用于获得序列长度或者说元素的个数,但它们有什么明确的区 ...
- 从零开始学Java——个人笔记(持续更新中)
从零开始学Java 学习流程 第一阶段:建立编程思想 Java概述 变量 运算符 控制结构 数组.排序和查找 面向对象编程(基础) 面向对象编程(中级) 项目&学习以致用 编程之乐 第二阶段: ...
- 隐私计算FATE-模型训练
一.说明 本文分享基于 Fate 自带的测试样例,进行 纵向逻辑回归 算法的模型训练,并且通过 FATE Board 可视化查看结果. 本文的内容为基于 <隐私计算FATE-概念与单机部署指南& ...