今天得到一个几百页word文件,尝试打开过了几秒钟就卡死了,等待了几分钟发现还是卡死不动,换了其他电脑发现可以正常打开、编辑和保存,为了确认是不是偶然事件,我又回到第一台电脑去打开这个word还是卡死,初步怀疑是不是这个电脑的问题,就开始进行差异化分析,我们称之第一台电脑为A电脑、第二台正常开打的电脑为B电脑:
一、A电脑操作系统版本:Windows 11 25H2,word版本:Word2021 Version 2510 (Build 19328.20158),B电脑操作系统版本:Windows 11 25H2,word版本:Word2021 Version 2510 (Build 19328.20178)。
二、我把A电脑的word升级到了最新版本Build 19328.20178,发现问题解决,可以正常打开这个word,不会出现卡死的问题,为了深入的了解到底是什么原因引起了,我找到了一台安装Word2021 Version 2510 (Build 19328.20158)版本的电脑,称之为C电脑。
三、现在在A电脑和C电脑上进行操作,逐步排查问题:
1、用A电脑开这个文件,文件中有7个章节,按照章节将这个文件拆分7个word文件,然后拷贝到C电脑逐一验证。
2、在C电脑上通过逐一尝试打开,发现第6个文件出现卡死现象。
3、回到A电脑对第6个文件继续分析,发现该章节下有82个表格,通过二分法在A电脑和C电脑对表格进行逐一验证,定位到某个表格打开就卡死。
4、回到A电脑对这个表格进行分析,该表格有40行,继续通过二分法在A电脑和C电脑对行进行逐一验证,定位到某一行出现问题(即在A电脑把这行复制到到一个空白的word中,保存后,把这个word拷贝到C电脑,C电脑开这个这个word出现卡死现象)。
5、范围缩小到表格的某行了,就好进一步排查了,一开始考到是不是特殊字符影响了,几次验证后发现没有问题,经过多次验证发现这个bug是由长度引起的。
6、表格中某个单元格内只有一个段落,这个段落的文件长度大于13000(这个数字不是个准确的数字,长度越长卡死现象越严重,)左右就会出现卡死现象,具体点说就是连续的字符(不含换行^l和回车^p)超过13000就会出现卡死现象。
7、我找到一台Word2021 Version 2510 (Build 19328.20144)版本的word也出现这个现象,猜测Word2021 Version 2510 (Build 19328.20144)和Word2021 Version 2510 (Build 19328.20158)之间的版本都会出现这个现象,到了Word2021 Version 2510 (Build 19328.20178)版本解决了这个bug了。
8、找到一个Word2021 Version 2208 (Build 15601.20142)版本(老版本),没有出现这个假死现象,说明这个bug只存在于中间的某些连续的版本。
总结:
1、如果您的电脑word打开某个文件出现这个类似现象,可以尝试升级到最新版本,当前最新版本是Word2021 Version 2510 (Build 19328.20178),或者用更古老的版本,例如Word2021 Version 2208 (Build 15601.20142)。
2、当你升级到最新版本后打开这文件后,避免将文件发给别人打不开,将这个单元格内的长段落内部加一些换行符(^l)或回车符(^p)。