理解“布局运行失败"错误记录 [英] understanding "Layout run failure" error logging

查看:14
本文介绍了理解“布局运行失败"错误记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在做一些图表工作,并在图表上没有创建任何内容时收到一条单行消息布局运行失败".调查这个我发现我必须添加一些额外的脚本文件来生成日志文件,如这里:

I am doing some charting work and got a single line message "Layout run failure" when nothing was being created on the chart. Looking into this I found that I have to add some additional script files to generate the log files as covered here:

布局失败

由于 4.1 版布局引擎的设计,有可能不正确的配置(或错误)导致布局运行失败完成它的所有计算.发生这种情况时,布局只需停止和已刷新到 DOM 的部分结果是一切可见.在某些情况下,布局可能已完成 99% 并且故障可能未被发现或表现为轻微的视觉异常.在其他情况下,布局可能会提前失败并使 UI 清晰可见损坏状态(很像布局期间的 JS 错误会在以前的版本).

As result of the design for the layout engine in 4.1, it is possible for improper configuration (or a bug) to cause a layout run to fail to complete all of its calculations. When this occurs, the layout simply stops and the partial results that have been flushed to the DOM are all that is visible. In some cases, the layout may be 99% complete and the failure may go undetected or appear as a minor visual anomaly. In other cases, the layout may fail early and leave the UI in a clearly broken state (much like a JS error during layout would do in previous versions).

诊断

如果您怀疑看到布局失败,第一步是启用布局诊断.这是通过替换正常的带有ext-all-dev.js"的ext-all.js"文件并添加了一些额外的脚本.

The first step if you suspect you are seeing a layout failure is to enable the layout diagnostics. This is done by replacing the normal "ext-all.js" file with "ext-all-dev.js" and adding a couple additional scripts.

我添加了所需的脚本:

<script type="text/javascript" src="extjs/src/diag/layout/Context.js"></script>
<script type="text/javascript" src="extjs/src/diag/layout/ContextItem.js"></script>

现在我得到了我无法理解的诊断数据 - 它似乎无法诊断错误:

And now I get diagnostic data that I can't make any sense of - it doesn't seem to diagnose an error:

++printer<autocontainer> - size: configured/shrinkWrap
    --statprint-1472<autocontainer> - size: configured/configured
        triggeredBy: count=1
            statprint-1472.containerChildrenDone:dom () dirty: false, setBy: ?
        --chart-1473<draw> - size: shrinkWrap/shrinkWrap
            triggeredBy: count=1
                chart-1473.containerChildrenDone:dom (true) dirty: false, setBy: ?
    ++panel-1474<dock> - boxParent: printer - size: natural/configured
    ++panel-1474<autocontainer> - boxParent: printer - size: natural/configured
    ++statprint-1472<dock> - size: configured/configured
        ++statprint-1472_header<body> [isBoxParent] - size: calculated/shrinkWrap
        ++statprint-1472_header<hbox> [isBoxParent] - size: calculated/shrinkWrap
            ++statprint-1472_header_hd<autocomponent> [isBoxParent] - size: calculated/shrinkWrap
            ++tool-1475<autocomponent> [isBoxParent] - size: configured/configured

有谁知道诊断信息在哪里解释的?

Does any one know where the diagnostic information is explained?

推荐答案

我发现这些类型的错误通常可以通过注释掉直到它消失的方法来最快地解决,以隔离哪个组件配置导致布局失败.从内而外注释掉子组件,用填充 html 配置替换它们,直到您将导致故障的组件归零,然后看看在错误再次出现之前您可以放回多少,您应该只查看剩下的几行配置,您可以查看文档/示例.

I find these types of errors are often solved the quickest with a comment-out-till-it-goes-away approach to isolating which component config is causing the layout failure. Comment out child components from the inside out, replacing them with a filler html config, until you zero-in on which component was causing the failure, then see how much you can put back until the error comes back and you should be looking at only a few remaining lines of configuration that you can eyeball against the docs/samples.

这篇关于理解“布局运行失败"错误记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆