如何调试Microsoft Edge因SIGILL错误崩溃的Web应用问题
调试Edge中CSS导致的SIGILL崩溃问题
你开发Web应用时,在Microsoft Edge开发者工具中偶尔遇到页面崩溃,错误代码为SIGILL,已定位到index.html页面的CSS代码如下:
.circle { @supports (cx: 1) { transform: translateX(0); cx: 17; } }
无需逐行删除代码的调试方法如下:
- 用Edge开发者工具禁用单条CSS声明:打开Elements面板的Styles标签,找到该
.circle规则下的@supports代码块,分别点击transform: translateX(0);和cx: 17;前的复选框,逐个禁用后刷新页面,观察崩溃是否复现,快速定位触发崩溃的具体行。 - 修正@supports特性检测逻辑:
cx是SVG元素的属性而非CSS属性,当前@supports (cx: 1)的检测逻辑不符合规范,浏览器解析时可能出现异常。可以将检测条件修改为@supports (cx: 1px)(为数值添加单位),或者针对SVG元素做特性检测,验证是否是检测逻辑导致的崩溃。 - 查看Edge崩溃日志:在Edge地址栏输入
edge://crashes/,找到对应崩溃记录,查看详细堆栈信息,其中会明确标注CSS解析过程中出错的环节,帮助精准定位问题根源。 - 隔离测试目标代码:在开发者工具中新建空白HTML文件,仅包含这段CSS和对应的SVG元素(如
<circle class="circle" />),在隔离环境中测试,排除其他代码干扰,确认是否是这段CSS本身的问题。
内容的提问来源于stack exchange,提问作者cicciosgamino
相关产品推荐
相关产品推荐

