• 困扰所有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月底发布...

  • 相关阅读:
    怎么停止正在进行的Windows更新?
    Android 动画和过渡
    网工记背命令(6)----链路聚合配置
    如何使用 Python 中 Pandas 进行数据分析?
    Shell脚本的执行流程详解
    对接亚马逊aws通过echo音箱监视摄像头
    uboot移植之环境变量bootcmd
    Introduction to Assembly and RISC-V
    专高六第一次项目答辩学到的知识点【未完成】
    误删除文件怎么找回呢?
  • 原文地址:https://www.cnblogs.com/saper/p/16574745.html