控制台Slate调试器

控制台Slate调试器工具参考手册,可以帮助用户使用Slate UI框架调试应用程序。

Choose your operating system:

Windows

macOS

Linux

前置主题

为了理解并使用本文中的内容,请确保您已掌握以下主题:

在为应用程序开发用户界面(UI)时,UI开发人员有时需要调试Slate, 控制台Slate调试器 可以为你提供帮助。控制台Slate调试器挂接到 FSlateDebugging 中的可用系统,以便打印内部Slate数据。此外,随着UI焦点更改(或尝试更改),开发人员将需要知道哪个系统正在处理这类焦点更新。

SlateConsole.png

控制台Slate调试器

在4.26中,控制台Slate调试器的扩展现在包括以下内容:

  • GlobalInvalidation,有助于识别负责处理高成本帧的控件。

  • 绘制选项,显示在给定帧中绘制的控件。

  • 附加路由选项,用于查看系统如何选择控件作为事件处理程序。

  • 其他过滤器和事件控制台命令。

SlateDebugger

在PIE模式下运行项目时,按波浪号(〜)键打开PIE控制台,然后键入 SlateDebugger

SlateDebuggerConsole.gif

SlateDebugger日志通常被写入到 [ProjectName]/Saved/Logs 下的 [ProjectName].txt 日志文件中。

事件命令

Slate调试器提供了许多不同的命令以精确定位特定信息,例如启用或禁用特定日志以及过滤事件。如果需要更多信息,CaptureStack还可以提供触发事件的调用堆栈。

SlateDebugger.Event

命令说明

Start

SlateDebugger.Event.Start 的别名,用于启动Slate控制台调试器。

Stop

SlateDebugger.Event.Stop 的别名,用于停止Slate控制台调试器。

SetInputFilter

启用或禁用特定的输入过滤器。

SetFocusFilter

启用或禁用特定的焦点过滤器。

LogWarning

记录警告事件。

LogInputEvent

记录输入事件。

LogFocusEvent

记录焦点事件。

LogExecuteNavigationEvent

记录执行导航事件。

LogCaptureStateChangeEvent

记录光标状态更改事件。

LogCursorChangeEvent

记录光标更改事件。

LogAttemptNavigationEvent

记录尝试导航事件。

InputRoutingModeEnabled

如果启用,则输出输入事件采用的路由。

EnableAllInputFilters

启用所有输入过滤器。

DisableAllInputFilters

禁用所有输入过滤器。

EnableAllFocusFilters

启用所有焦点过滤器。

DisableAllFocusFilters

禁用所有焦点过滤器。

CaptureStack

如果启用,则在发生事件时捕获堆栈。

无效命令

这些命令使你可以使用Invalidate命令显示无效的界面控件。每个失效的控件将根据失效类型以不同的颜色突出显示。

DebuggerInvalidate.png

SlateDebugger.Invalidate

SlateDebugger.Invalidate

命令说明

Enable

启动无效控件(Invalidation Widget)调试工具,在控件使无效控件调试工具失效或停止时显示,取决于当前状态。

Start

启动无效控件调试工具,在控件失效时显示。

Stop

停止无效控件调试工具。

SetInvalidateRootReasonFilter

SetInvalidateRootReasonFinder [None][ChildOrder][Root][ScreenPosition][Any]

SetInvalidateWidgetReasonFilter

SetInvalidateWidgetReasonFinder [None][ChildOrder][Root][ScreenPosition][Any][None][Layout][Paint][Volatility][ChildOrder][RenderTransform][Visibility][Any]

ToggleLegend

显示颜色图例。

ToggleLogInvalidateWidget

将无效控件记录到控制台。

ToggleWidgetNameList

显示无效控件的名称。

绘制命令

此命令用于突出显示在每个帧中绘制的控件。这适用于识别已绘制的控件(即使它们未更改)。请注意,易变控件每帧都会绘制。

DebuggerPaint.png

SlateDebugger.Paint

SlateDebugger.Paint

命令说明

Enable

启动绘制控件调试工具,在控件绘制或停止绘制控件调试工具时显示,取决于当前状态。

Start

启动绘制控件调试工具,在控件绘制时显示。

Stop

停止绘制控件调试工具。

LogOnce

记录上一次更新期间绘制一次的控件

LogWarningIfWidgetIsPaintedMoreThanOnce

如果控件在同一帧中绘制多次,则记录警告。

MaxNumberOfWidgetDisplayedInList

显示 DisplayWidgetNameList 处于激活状态时将显示的最大控件数量。

ToggleWidgetNameList

显示绘制的控件名称。

更新命令

此命令用于突出显示更新频率超过需求的控件。由于可能在蓝图中覆盖或执行控件更新,因此,如果未正确设计控件代码,通常会导致性能降低。

DebuggerUpdate.png

SlateDebugger.Update

SlateDebugger.Update

命令说明

Enable

启动更新控件调试工具,在控件更新或停止更新控件调试工具时显示,取决于当前状态。

Start

启动更新控件调试工具,在控件更新时显示。

Stop

停止更新控件调试工具。

SetInvalidationRootIdFilter

仅显示属于无效根的控件。

SetWidgetUpdateFlagsFilter

SetWidgetUpdateFlagsFilter [None][Tick][ActiveTimer][Repaint][VolatilePaint][Any]

ToggleLegend

显示颜色图例。

ToggleUpdateFromPaint

显示不具有更新标记,但仍作为另一控件的副作用而更新的控件。

ToggleWidgetNameList

显示更新控件的名称。

欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消