UObject控制台命令
UObject的Flags
/** * Flags describing an object instance */ enum EObjectFlags { // Do not add new flags unless they truly belong here. There are alternatives. // if you change any the bit of any of the RF_Load flags, then you will need legacy serialization RF_NoFlags = 0x00000000, //< No flags, used to avoid a cast // This first group of flags mostly has to do with what kind of object it is. Other than transient, these are the persistent object flags. // The garbage collector also tends to look at these. RF_Public =0x00000001, //< Object is visible outside its package. RF_Standalone =0x00000002, //< Keep object around for editing even if unreferenced. RF_MarkAsNative =0x00000004, //< Object (UField) will be marked as native on construction (DO NOT USE THIS FLAG in HasAnyFlags() etc) RF_Transactional =0x00000008, //< Object is transactional. RF_ClassDefaultObject =0x00000010, //< This object is its class's default object RF_ArchetypeObject =0x00000020, //< This object is a template for another object - treat like a class default object RF_Transient =0x00000040, //< Don't save object. // This group of flags is primarily concerned with garbage collection. RF_MarkAsRootSet =0x00000080, //< Object will be marked as root set on construction and not be garbage collected, even if unreferenced (DO NOT USE THIS FLAG in HasAnyFlags() etc) RF_TagGarbageTemp =0x00000100, //< This is a temp user flag for various utilities that need to use the garbage collector. The garbage collector itself does not interpret it. // The group of flags tracks the stages of the lifetime of a uobject RF_NeedInitialization =0x00000200, //< This object has not completed its initialization process. Cleared when ~FObjectInitializer completes RF_NeedLoad =0x00000400, //< During load, indicates object needs loading. RF_KeepForCooker =0x00000800, //< Keep this object during garbage collection because it's still being used by the cooker RF_NeedPostLoad =0x00001000, //< Object needs to be postloaded. RF_NeedPostLoadSubobjects =0x00002000, //< During load, indicates that the object still needs to instance subobjects and fixup serialized component references RF_NewerVersionExists =0x00004000, //< Object has been consigned to oblivion due to its owner package being reloaded, and a newer version currently exists RF_BeginDestroyed =0x00008000, //< BeginDestroy has been called on the object. RF_FinishDestroyed =0x00010000, //< FinishDestroy has been called on the object. // Misc. Flags RF_BeingRegenerated =0x00020000, //< Flagged on UObjects that are used to create UClasses (e.g. Blueprints) while they are regenerating their UClass on load (See FLinkerLoad::CreateExport()) RF_DefaultSubObject =0x00040000, //< Flagged on subobjects that are defaults RF_WasLoaded =0x00080000, //< Flagged on UObjects that were loaded RF_TextExportTransient =0x00100000, //< Do not export object to text form (e.g. copy/paste). Generally used for sub-objects that can be regenerated from data in their parent object. RF_LoadCompleted =0x00200000, //< Object has been completely serialized by linkerload at least once. DO NOT USE THIS FLAG, It should be replaced with RF_WasLoaded. RF_InheritableComponentTemplate = 0x00400000, //< Archetype of the object can be in its super class RF_DuplicateTransient =0x00800000, //< Object should not be included in any type of duplication (copy/paste, binary duplication, etc.) RF_StrongRefOnFrame =0x01000000, //< References to this object from persistent function frame are handled as strong ones. RF_NonPIEDuplicateTransient =0x02000000, //< Object should not be included for duplication unless it's being duplicated for a PIE session RF_Dynamic =0x04000000, //< Field Only. Dynamic field - doesn't get constructed during static initialization, can be constructed multiple times RF_WillBeLoaded =0x08000000, //< This object was constructed during load and will be loaded shortly };
相关函数说明:
void SetFlags( EObjectFlags NewFlags )
void ClearFlags( EObjectFlags NewFlags )
bool HasAnyFlags( EObjectFlags FlagsToCheck ) const
bool HasAllFlags( EObjectFlags FlagsToCheck ) const
EObjectFlags GetMaskedFlags( EObjectFlags Mask = RF_AllFlags ) const
UClass的Flags
/** * Flags describing a class. */ enum EClassFlags { /** No Flags */ CLASS_None = 0x00000000u, /** Class is abstract and can't be instantiated directly. */ CLASS_Abstract = 0x00000001u, /** Save object configuration only to Default INIs, never to local INIs. Must be combined with CLASS_Config */ CLASS_DefaultConfig = 0x00000002u, /** Load object configuration at construction time. */ CLASS_Config = 0x00000004u, /** This object type can't be saved; null it out at save time. */ CLASS_Transient = 0x00000008u, /** Successfully parsed. */ CLASS_Parsed = 0x00000010u, /** */ CLASS_MatchedSerializers = 0x00000020u, /** All the properties on the class are shown in the advanced section (which is hidden by default) unless SimpleDisplay is specified on the property */ CLASS_AdvancedDisplay = 0x00000040u, /** Class is a native class - native interfaces will have CLASS_Native set, but not RF_MarkAsNative */ CLASS_Native = 0x00000080u, /** Don't export to C++ header. */ CLASS_NoExport = 0x00000100u, /** Do not allow users to create in the editor. */ CLASS_NotPlaceable = 0x00000200u, /** Handle object configuration on a per-object basis, rather than per-class. */ CLASS_PerObjectConfig = 0x00000400u, /** Whether SetUpRuntimeReplicationData still needs to be called for this class */ CLASS_ReplicationDataIsSetUp = 0x00000800u, /** Class can be constructed from editinline New button. */ CLASS_EditInlineNew = 0x00001000u, /** Display properties in the editor without using categories. */ CLASS_CollapseCategories = 0x00002000u, /** Class is an interface **/ CLASS_Interface = 0x00004000u, /** Do not export a constructor for this class, assuming it is in the cpptext **/ CLASS_CustomConstructor = 0x00008000u, /** all properties and functions in this class are const and should be exported as const */ CLASS_Const = 0x00010000u, /** Class flag indicating the class is having its layout changed, and therefore is not ready for a CDO to be created */ CLASS_LayoutChanging = 0x00020000u, /** Indicates that the class was created from blueprint source material */ CLASS_CompiledFromBlueprint = 0x00040000u, /** Indicates that only the bare minimum bits of this class should be DLL exported/imported */ CLASS_MinimalAPI = 0x00080000u, /** Indicates this class must be DLL exported/imported (along with all of it's members) */ CLASS_RequiredAPI = 0x00100000u, /** Indicates that references to this class default to instanced. Used to be subclasses of UComponent, but now can be any UObject */ CLASS_DefaultToInstanced = 0x00200000u, /** Indicates that the parent token stream has been merged with ours. */ CLASS_TokenStreamAssembled = 0x00400000u, /** Class has component properties. */ CLASS_HasInstancedReference= 0x00800000u, /** Don't show this class in the editor class browser or edit inline new menus. */ CLASS_Hidden = 0x01000000u, /** Don't save objects of this class when serializing */ CLASS_Deprecated = 0x02000000u, /** Class not shown in editor drop down for class selection */ CLASS_HideDropDown = 0x04000000u, /** Class settings are saved to <AppData>/..../Blah.ini (as opposed to CLASS_DefaultConfig) */ CLASS_GlobalUserConfig = 0x08000000u, /** Class was declared directly in C++ and has no boilerplate generated by UnrealHeaderTool */ CLASS_Intrinsic = 0x10000000u, /** Class has already been constructed (maybe in a previous DLL version before hot-reload). */ CLASS_Constructed = 0x20000000u, /** Indicates that object configuration will not check against ini base/defaults when serialized */ CLASS_ConfigDoNotCheckDefaults = 0x40000000u, /** Class has been consigned to oblivion as part of a blueprint recompile, and a newer version currently exists. */ CLASS_NewerVersionExists = 0x80000000u, };
相关函数说明:
bool HasAnyClassFlags( EClassFlags FlagsToCheck ) const
bool HasAllClassFlags( EClassFlags FlagsToCheck ) const
EClassFlags GetClassFlags() const
Property的Flags
/** UnrealEngine\Engine\Source\Runtime\CoreUObject\Public\UObject\ObjectMacros.h */ /** * Flags associated with each property in a class, overriding the * property's default behavior. * @warning When adding one here, please update ParsePropertyFlags() */ enum EPropertyFlags : uint64 { CPF_None = 0, CPF_Edit = 0x0000000000000001, //< Property is user-settable in the editor. CPF_ConstParm = 0x0000000000000002, //< This is a constant function parameter CPF_BlueprintVisible = 0x0000000000000004, //< This property can be read by blueprint code CPF_ExportObject = 0x0000000000000008, //< Object can be exported with actor. CPF_BlueprintReadOnly = 0x0000000000000010, //< This property cannot be modified by blueprint code CPF_Net = 0x0000000000000020, //< Property is relevant to network replication. CPF_EditFixedSize = 0x0000000000000040, //< Indicates that elements of an array can be modified, but its size cannot be changed. CPF_Parm = 0x0000000000000080, //< Function/When call parameter. CPF_OutParm = 0x0000000000000100, //< Value is copied out after function call. CPF_ZeroConstructor = 0x0000000000000200, //< memset is fine for construction CPF_ReturnParm = 0x0000000000000400, //< Return value. CPF_DisableEditOnTemplate = 0x0000000000000800, //< Disable editing of this property on an archetype/sub-blueprint //CPF_ = 0x0000000000001000, //< CPF_Transient = 0x0000000000002000, //< Property is transient: shouldn't be saved or loaded, except for Blueprint CDOs. CPF_Config = 0x0000000000004000, //< Property should be loaded/saved as permanent profile. //CPF_ = 0x0000000000008000, //< CPF_DisableEditOnInstance = 0x0000000000010000, //< Disable editing on an instance of this class CPF_EditConst = 0x0000000000020000, //< Property is uneditable in the editor. CPF_GlobalConfig = 0x0000000000040000, //< Load config from base class, not subclass. CPF_InstancedReference = 0x0000000000080000, //< Property is a component references. //CPF_ = 0x0000000000100000, //< CPF_DuplicateTransient = 0x0000000000200000, //< Property should always be reset to the default value during any type of duplication (copy/paste, binary duplication, etc.) //CPF_ = 0x0000000000400000, //< //CPF_ = 0x0000000000800000, //< CPF_SaveGame = 0x0000000001000000, //< Property should be serialized for save games, this is only checked for game-specific archives with ArIsSaveGame CPF_NoClear = 0x0000000002000000, //< Hide clear (and browse) button. //CPF_ = 0x0000000004000000, //< CPF_ReferenceParm = 0x0000000008000000, //< Value is passed by reference; CPF_OutParam and CPF_Param should also be set. CPF_BlueprintAssignable = 0x0000000010000000, //< MC Delegates only. Property should be exposed for assigning in blueprint code CPF_Deprecated = 0x0000000020000000, //< Property is deprecated. Read it from an archive, but don't save it. CPF_IsPlainOldData = 0x0000000040000000, //< If this is set, then the property can be memcopied instead of CopyCompleteValue / CopySingleValue CPF_RepSkip = 0x0000000080000000, //< Not replicated. For non replicated properties in replicated structs CPF_RepNotify = 0x0000000100000000, //< Notify actors when a property is replicated CPF_Interp = 0x0000000200000000, //< interpolatable property for use with matinee CPF_NonTransactional = 0x0000000400000000, //< Property isn't transacted CPF_EditorOnly = 0x0000000800000000, //< Property should only be loaded in the editor CPF_NoDestructor = 0x0000001000000000, //< No destructor //CPF_ = 0x0000002000000000, //< CPF_AutoWeak = 0x0000004000000000, //< Only used for weak pointers, means the export type is autoweak CPF_ContainsInstancedReference = 0x0000008000000000, //< Property contains component references. CPF_AssetRegistrySearchable = 0x0000010000000000, //< asset instances will add properties with this flag to the asset registry automatically CPF_SimpleDisplay = 0x0000020000000000, //< The property is visible by default in the editor details view CPF_AdvancedDisplay = 0x0000040000000000, //< The property is advanced and not visible by default in the editor details view CPF_Protected = 0x0000080000000000, //< property is protected from the perspective of script CPF_BlueprintCallable = 0x0000100000000000, //< MC Delegates only. Property should be exposed for calling in blueprint code CPF_BlueprintAuthorityOnly = 0x0000200000000000, //< MC Delegates only. This delegate accepts (only in blueprint) only events with BlueprintAuthorityOnly. CPF_TextExportTransient = 0x0000400000000000, //< Property shouldn't be exported to text format (e.g. copy/paste) CPF_NonPIEDuplicateTransient = 0x0000800000000000, //< Property should only be copied in PIE CPF_ExposeOnSpawn = 0x0001000000000000, //< Property is exposed on spawn CPF_PersistentInstance = 0x0002000000000000, //< A object referenced by the property is duplicated like a component. (Each actor should have an own instance.) CPF_UObjectWrapper = 0x0004000000000000, //< Property was parsed as a wrapper class like TSubclassOf<T>, FScriptInterface etc., rather than a USomething* CPF_HasGetValueTypeHash = 0x0008000000000000, //< This property can generate a meaningful hash value. CPF_NativeAccessSpecifierPublic = 0x0010000000000000, //< Public native access specifier CPF_NativeAccessSpecifierProtected = 0x0020000000000000, //< Protected native access specifier CPF_NativeAccessSpecifierPrivate = 0x0040000000000000, //< Private native access specifier CPF_SkipSerialization = 0x0080000000000000, //< Property shouldn't be serialized, can still be exported to text };
Function的Flags
/** UnrealEngine\Engine\Source\Runtime\CoreUObject\Public\UObject\Script.h */ // // Function flags. // // Note: Please keep ParseFunctionFlags in sync when this enum is modified. enum EFunctionFlags : uint32 { // Function flags. FUNC_None = 0x00000000, FUNC_Final = 0x00000001, // Function is final (prebindable, non-overridable function). FUNC_RequiredAPI = 0x00000002, // Indicates this function is DLL exported/imported. FUNC_BlueprintAuthorityOnly= 0x00000004, // Function will only run if the object has network authority FUNC_BlueprintCosmetic = 0x00000008, // Function is cosmetic in nature and should not be invoked on dedicated servers // FUNC_ = 0x00000010, // unused. // FUNC_ = 0x00000020, // unused. FUNC_Net = 0x00000040, // Function is network-replicated. FUNC_NetReliable = 0x00000080, // Function should be sent reliably on the network. FUNC_NetRequest = 0x00000100, // Function is sent to a net service FUNC_Exec = 0x00000200, // Executable from command line. FUNC_Native = 0x00000400, // Native function. FUNC_Event = 0x00000800, // Event function. FUNC_NetResponse = 0x00001000, // Function response from a net service FUNC_Static = 0x00002000, // Static function. FUNC_NetMulticast = 0x00004000, // Function is networked multicast Server -> All Clients FUNC_UbergraphFunction = 0x00008000, // Function is used as the merge 'ubergraph' for a blueprint, only assigned when using the persistent 'ubergraph' frame FUNC_MulticastDelegate = 0x00010000, // Function is a multi-cast delegate signature (also requires FUNC_Delegate to be set!) FUNC_Public = 0x00020000, // Function is accessible in all classes (if overridden, parameters must remain unchanged). FUNC_Private = 0x00040000, // Function is accessible only in the class it is defined in (cannot be overridden, but function name may be reused in subclasses. IOW: if overridden, parameters don't need to match, and Super.Func() cannot be accessed since it's private.) FUNC_Protected = 0x00080000, // Function is accessible only in the class it is defined in and subclasses (if overridden, parameters much remain unchanged). FUNC_Delegate = 0x00100000, // Function is delegate signature (either single-cast or multi-cast, depending on whether FUNC_MulticastDelegate is set.) FUNC_NetServer = 0x00200000, // Function is executed on servers (set by replication code if passes check) FUNC_HasOutParms = 0x00400000, // function has out (pass by reference) parameters FUNC_HasDefaults = 0x00800000, // function has structs that contain defaults FUNC_NetClient = 0x01000000, // function is executed on clients FUNC_DLLImport = 0x02000000, // function is imported from a DLL FUNC_BlueprintCallable = 0x04000000, // function can be called from blueprint code FUNC_BlueprintEvent = 0x08000000, // function can be overridden/implemented from a blueprint FUNC_BlueprintPure = 0x10000000, // function can be called from blueprint code, and is also pure (produces no side effects). If you set this, you should set FUNC_BlueprintCallable as well. FUNC_EditorOnly = 0x20000000, // function can only be called from an editor scrippt. FUNC_Const = 0x40000000, // function can be called from blueprint code, and only reads state (never writes state) FUNC_NetValidate = 0x80000000, // function must supply a _Validate implementation FUNC_AllFlags = 0xFFFFFFFF, };
UObject相关的命令主要在Obj.cpp的bool StaticExec( UWorld* InWorld, const TCHAR* Cmd, FOutputDevice& Ar )函数和UnrealEngine.cpp的bool UEngine::HandleObjCommand( const TCHAR* Cmd, FOutputDevice& Ar )函数中
Get
Get MyTest1Character m_Str1 // 打印输出AMyTest1Character类型的m_Str1变量值 注:m_Str1需使用UPROPERTY宏修饰
Get ThirdPersonCharacter_C m_nVal1 // 打印输出ThirdPersonCharacter蓝图类型的m_nVal1变量值
Set
Set MyTest1Character m_Str1 hello // 设置AMyTest1Character类型的m_Str1变量为hello 注:m_Str1需使用UPROPERTY宏修饰
Set ThirdPersonCharacter_2 m_Str1 china // 设置ThirdPersonCharacter_2对象的m_Str1变量为china 注:m_Str1需使用UPROPERTY宏修饰
set ThirdPersonCharacter_2.CharMoveComp MovementMode MOVE_Flying // 设置ThirdPersonCharacter_2对象为Flying状态
set ThirdPersonCharacter_2.CollisionCylinder BodyInstance (CollisionEnabled=NoCollision) // 取消ThirdPersonCharacter_2对象碰撞
set ThirdPersonCharacter_2.CharMoveComp GravityScale 0.1 // 将重力系列设置0.1 注:掉落得更慢
set ThirdPersonCharacter_2.CharMoveComp JumpZVelocity 2000 // 将将起跳速度设为2000 注:可以跳得更高
set PlayerController_2147482549 CheatClass /Script/Engine.CheatManager // 将PlayerController_2147482549对象的CheatClass设为CheatManager类型
set PlayerController_2147482549 CheatManager None // 将PlayerController_2147482549对象的CheatManager对象设为空
Setnopec
Setnopec MyTest1Character m_Str1 hello // 设置AMyTest1Character类型的m_Str1变量为hello(不回调对象的PreEditChange、PostEditChangeProperty通知函数)
Setnopec ThirdPersonCharacter_2 m_Str1 china // 设置ThirdPersonCharacter_2对象的m_Str1变量为china(不回调对象的PreEditChange、PostEditChangeProperty通知函数)
GetIni
GetIni Engine:/Script/AndroidRuntimeSettings.AndroidRuntimeSettings PackageName // 读取Engine.ini中标签为/Script/AndroidRuntimeSettings.AndroidRuntimeSettings键为PackageName的内容
GetIni Game:/Script/MoviePlayer.MoviePlayerSettings bMoviesAreSkippable // 读取Game.ini中标签为/Script/MoviePlayer.MoviePlayerSettings键为bMoviesAreSkippable的内容
GetIni "DeviceProfiles:Android DeviceProfile" TextureLODGroups // 读取DeviceProfiles.ini中标签为Android DeviceProfile键为TextureLODGroups的内容
GetAll
GetAll Texture2D // 查看类型为Texture2D的所有对象的名称
[2020.12.03-11.51.32:507][439]71) Texture2D /Engine/EngineMaterials/BlueNoise.BlueNoise [2020.12.03-11.51.32:507][439]72) Texture2D /Engine/EngineSky/T_Sky_Stars.T_Sky_Stars [2020.12.03-11.51.32:507][439]73) Texture2D /Engine/EngineSky/T_Sky_Clouds_M.T_Sky_Clouds_M [2020.12.03-11.51.32:507][439]74) Texture2D /Engine/EngineSky/T_Sky_Blue.T_Sky_Blue [2020.12.03-11.51.32:507][439]75) Texture2D /Game/ThirdPerson/Fonts/NewFont.NewFont:NewFont_PageA [2020.12.03-11.51.32:508][439]76) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:SkyOcclusion0_3 [2020.12.03-11.51.32:508][439]77) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:SkyOcclusion0_2 [2020.12.03-11.51.32:508][439]78) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:SkyOcclusion0_1 [2020.12.03-11.51.32:508][439]79) ShadowMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:ShadowMapTexture2D_1 [2020.12.03-11.51.32:508][439]80) ShadowMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:ShadowMapTexture2D_0 [2020.12.03-11.51.32:508][439]81) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:HQ_Lightmap0_3 [2020.12.03-11.51.32:508][439]82) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:HQ_Lightmap0_2 [2020.12.03-11.51.32:508][439]83) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:HQ_Lightmap0_1 [2020.12.03-11.51.32:508][439]84) Texture2D /Game/ThirdPerson/Textures/T_Env_BuildingDecal01_09_A01_DO.T_Env_BuildingDecal01_09_A01_DO [2020.12.03-11.51.32:508][439]85) Texture2D /Engine/EditorResources/SequenceRecorder/Countdown.Countdown [2020.12.03-11.51.32:508][439]86) Texture2D /Engine/EditorResources/SequenceRecorder/RecordingIndicator.RecordingIndicator
GetAll Font // 查看类型为字体Font的所有对象名称
0) Font /Engine/EngineFonts/RobotoDistanceField.RobotoDistanceField 1) Font /Game/Global/Font/Multilingual_Font.Multilingual_Font 2) Font /Engine/Transient.DefaultTinyFont 3) Font /Engine/Transient.DefaultRegularFont 4) Font /Engine/EngineFonts/Roboto.Roboto
GetAll Texture2D LODGroup outer=ThirdPersonExampleMap_BuiltData
[2020.12.03-12.34.15:133][772]0) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:SkyOcclusion0_3.LODGroup = TEXTUREGROUP_Lightmap [2020.12.03-12.34.15:133][772]1) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:SkyOcclusion0_2.LODGroup = TEXTUREGROUP_Lightmap [2020.12.03-12.34.15:133][772]2) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:SkyOcclusion0_1.LODGroup = TEXTUREGROUP_Lightmap [2020.12.03-12.34.15:133][772]3) ShadowMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:ShadowMapTexture2D_1.LODGroup = TEXTUREGROUP_Shadowmap [2020.12.03-12.34.15:133][772]4) ShadowMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:ShadowMapTexture2D_0.LODGroup = TEXTUREGROUP_Shadowmap [2020.12.03-12.34.15:134][772]5) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:HQ_Lightmap0_3.LODGroup = TEXTUREGROUP_Lightmap [2020.12.03-12.34.15:134][772]6) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:HQ_Lightmap0_2.LODGroup = TEXTUREGROUP_Lightmap [2020.12.03-12.34.15:134][772]7) LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:HQ_Lightmap0_1.LODGroup = TEXTUREGROUP_Lightmap
listprops
listprops MyTest1Character OnInputTouch* // 打印AMyTest1Character类型中各UPROPERTY成员变量的Offset,size及flag;最后搜索并输出OnInputTouch开头的变量 注:可使用?和*通配符
[2020.12.03-07.57.24:531][118] Prop CameraBoom at offset 1400; 1x 8 bytes of type ObjectProperty [2020.12.03-07.57.24:531][118] Flag CPF_Edit [2020.12.03-07.57.24:531][118] Flag CPF_BlueprintVisible [2020.12.03-07.57.24:531][118] Flag CPF_ExportObject [2020.12.03-07.57.24:531][118] Flag CPF_BlueprintReadOnly [2020.12.03-07.57.24:531][118] Flag CPF_ZeroConstructor [2020.12.03-07.57.24:531][118] Flag CPF_EditConst [2020.12.03-07.57.24:532][118] Flag CPF_InstancedReference [2020.12.03-07.57.24:532][118] Flag CPF_IsPlainOldData [2020.12.03-07.57.24:532][118] Flag CPF_NoDestructor [2020.12.03-07.57.24:532][118] Flag CPF_HasGetValueTypeHash [2020.12.03-07.57.24:532][118] Flag CPF_NativeAccessSpecifierPrivate [2020.12.03-07.57.24:532][118] Prop FollowCamera at offset 1408; 1x 8 bytes of type ObjectProperty [2020.12.03-07.57.24:532][118] Flag CPF_Edit [2020.12.03-07.57.24:532][118] Flag CPF_BlueprintVisible [2020.12.03-07.57.24:532][118] Flag CPF_ExportObject [2020.12.03-07.57.24:532][118] Flag CPF_BlueprintReadOnly [2020.12.03-07.57.24:532][118] Flag CPF_ZeroConstructor [2020.12.03-07.57.24:532][118] Flag CPF_EditConst [2020.12.03-07.57.24:533][118] Flag CPF_InstancedReference [2020.12.03-07.57.24:533][118] Flag CPF_IsPlainOldData [2020.12.03-07.57.24:533][118] Flag CPF_NoDestructor [2020.12.03-07.57.24:533][118] Flag CPF_HasGetValueTypeHash [2020.12.03-07.57.24:533][118] Flag CPF_NativeAccessSpecifierPrivate [2020.12.03-07.57.24:533][118] Prop BaseTurnRate at offset 1416; 1x 4 bytes of type FloatProperty [2020.12.03-07.57.24:533][118] Flag CPF_Edit [2020.12.03-07.57.24:533][118] Flag CPF_BlueprintVisible [2020.12.03-07.57.24:533][118] Flag CPF_BlueprintReadOnly [2020.12.03-07.57.24:533][118] Flag CPF_ZeroConstructor [2020.12.03-07.57.24:533][118] Flag CPF_EditConst [2020.12.03-07.57.24:533][118] Flag CPF_IsPlainOldData [2020.12.03-07.57.24:533][118] Flag CPF_NoDestructor [2020.12.03-07.57.24:534][118] Flag CPF_HasGetValueTypeHash [2020.12.03-07.57.24:534][118] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-07.57.24:534][118] Prop BaseLookUpRate at offset 1420; 1x 4 bytes of type FloatProperty [2020.12.03-07.57.24:534][118] Flag CPF_Edit [2020.12.03-07.57.24:534][118] Flag CPF_BlueprintVisible [2020.12.03-07.57.24:534][118] Flag CPF_BlueprintReadOnly [2020.12.03-07.57.24:534][118] Flag CPF_ZeroConstructor [2020.12.03-07.57.24:534][118] Flag CPF_EditConst [2020.12.03-07.57.24:534][118] Flag CPF_IsPlainOldData [2020.12.03-07.57.24:534][118] Flag CPF_NoDestructor [2020.12.03-07.57.24:534][118] Flag CPF_HasGetValueTypeHash [2020.12.03-07.57.24:535][118] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-07.57.24:535][118] Prop m_Obj1 at offset 1432; 1x 8 bytes of type ObjectProperty [2020.12.03-07.57.24:535][118] Flag CPF_ZeroConstructor [2020.12.03-07.57.24:535][118] Flag CPF_IsPlainOldData [2020.12.03-07.57.24:535][118] Flag CPF_NoDestructor [2020.12.03-07.57.24:535][118] Flag CPF_HasGetValueTypeHash [2020.12.03-07.57.24:535][118] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-07.57.24:535][118] Prop m_Obj2 at offset 1440; 1x 8 bytes of type ObjectProperty [2020.12.03-07.57.24:535][118] Flag CPF_ZeroConstructor [2020.12.03-07.57.24:535][118] Flag CPF_IsPlainOldData [2020.12.03-07.57.24:535][118] Flag CPF_NoDestructor [2020.12.03-07.57.24:535][118] Flag CPF_HasGetValueTypeHash [2020.12.03-07.57.24:536][118] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-07.57.24:536][118] Prop m_BPObj1 at offset 1456; 1x 8 bytes of type ObjectProperty [2020.12.03-07.57.24:536][118] Flag CPF_ZeroConstructor [2020.12.03-07.57.24:536][118] Flag CPF_IsPlainOldData [2020.12.03-07.57.24:536][118] Flag CPF_NoDestructor [2020.12.03-07.57.24:536][118] Flag CPF_HasGetValueTypeHash [2020.12.03-07.57.24:537][118] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-07.57.24:537][118] Prop m_MyBPObjectClass at offset 1464; 1x 8 bytes of type ClassProperty [2020.12.03-07.57.24:537][118] Flag CPF_ZeroConstructor [2020.12.03-07.57.24:537][118] Flag CPF_IsPlainOldData [2020.12.03-07.57.24:537][118] Flag CPF_NoDestructor [2020.12.03-07.57.24:540][118] Flag CPF_HasGetValueTypeHash [2020.12.03-07.57.24:540][118] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-07.57.24:540][118] Prop m_Str1 at offset 1472; 1x 16 bytes of type StrProperty [2020.12.03-07.57.24:540][118] Flag CPF_ZeroConstructor [2020.12.03-07.57.24:540][118] Flag CPF_HasGetValueTypeHash [2020.12.03-07.57.24:540][118] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-07.57.24:540][118] Prop m_Text1 at offset 1488; 1x 24 bytes of type TextProperty [2020.12.03-07.57.24:540][118] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-07.57.24:540][118] Prop m_Text2 at offset 1512; 1x 24 bytes of type TextProperty [2020.12.03-07.57.24:540][118] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-07.57.24:541][118] Prop TextMap at offset 1536; 1x 80 bytes of type MapProperty [2020.12.03-07.57.24:541][118] Flag CPF_Config [2020.12.03-07.57.24:541][118] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-07.57.24:541][118] Prop TestXXX at offset 1616; 1x 4 bytes of type IntProperty [2020.12.03-07.57.24:541][118] Flag CPF_ZeroConstructor [2020.12.03-07.57.24:541][118] Flag CPF_Config [2020.12.03-07.57.24:541][118] Flag CPF_IsPlainOldData [2020.12.03-07.57.24:541][118] Flag CPF_NoDestructor [2020.12.03-07.57.24:541][118] Flag CPF_HasGetValueTypeHash [2020.12.03-07.57.24:541][118] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-07.57.24:541][118] Prop Mesh at offset 824; 1x 8 bytes of type ObjectProperty [2020.12.03-07.57.24:541][118] Flag CPF_Edit [2020.12.03-07.57.24:541][118] Flag CPF_BlueprintVisible [2020.12.03-07.57.24:541][118] Flag CPF_ExportObject [2020.12.03-07.57.24:541][118] Flag CPF_BlueprintReadOnly [2020.12.03-07.57.24:542][118] Flag CPF_ZeroConstructor [2020.12.03-07.57.24:542][118] Flag CPF_EditConst [2020.12.03-07.57.24:543][118] Flag CPF_InstancedReference [2020.12.03-07.57.24:543][118] Flag CPF_IsPlainOldData [2020.12.03-07.57.24:543][118] Flag CPF_NoDestructor [2020.12.03-07.57.24:543][118] Flag CPF_HasGetValueTypeHash [2020.12.03-07.57.24:543][118] Flag CPF_NativeAccessSpecifierPrivate [2020.12.03-07.57.24:543][118] Prop CharacterMovement at offset 832; 1x 8 bytes of type ObjectProperty [2020.12.03-07.57.24:543][118] Flag CPF_Edit [2020.12.03-07.57.24:543][118] Flag CPF_BlueprintVisible [2020.12.03-07.57.24:543][118] Flag CPF_ExportObject [2020.12.03-07.57.24:544][118] Flag CPF_BlueprintReadOnly [2020.12.03-07.57.24:544][118] Flag CPF_ZeroConstructor [2020.12.03-07.57.24:544][118] Flag CPF_EditConst [2020.12.03-07.57.24:544][118] Flag CPF_InstancedReference [2020.12.03-07.57.24:544][118] Flag CPF_IsPlainOldData [2020.12.03-07.57.24:544][118] Flag CPF_NoDestructor [2020.12.03-07.57.24:544][118] Flag CPF_HasGetValueTypeHash [2020.12.03-07.57.24:544][118] Flag CPF_NativeAccessSpecifierPrivate 。。。 。。。 。。。 。。。 。。。 。。。 。。。 。。。 。。。 [2020.12.03-07.57.24:615][118] Prop OnReleased at offset 480; 1x 1 bytes of type MulticastSparseDelegateProperty [2020.12.03-07.57.24:615][118] Flag CPF_InstancedReference [2020.12.03-07.57.24:615][118] Flag CPF_BlueprintAssignable [2020.12.03-07.57.24:615][118] Flag CPF_NoDestructor [2020.12.03-07.57.24:615][118] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-07.57.24:615][118] Prop OnInputTouchBegin at offset 481; 1x 1 bytes of type MulticastSparseDelegateProperty [2020.12.03-07.57.24:615][118] Flag CPF_InstancedReference [2020.12.03-07.57.24:615][118] Flag CPF_BlueprintAssignable [2020.12.03-07.57.24:615][118] Flag CPF_NoDestructor [2020.12.03-07.57.24:615][118] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-07.57.24:615][118] Prop OnInputTouchEnd at offset 482; 1x 1 bytes of type MulticastSparseDelegateProperty [2020.12.03-07.57.24:615][118] Flag CPF_InstancedReference [2020.12.03-07.57.24:615][118] Flag CPF_BlueprintAssignable [2020.12.03-07.57.24:615][118] Flag CPF_NoDestructor [2020.12.03-07.57.24:615][118] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-07.57.24:615][118] Prop OnInputTouchEnter at offset 483; 1x 1 bytes of type MulticastSparseDelegateProperty [2020.12.03-07.57.24:616][118] Flag CPF_InstancedReference [2020.12.03-07.57.24:616][118] Flag CPF_BlueprintAssignable [2020.12.03-07.57.24:616][118] Flag CPF_NoDestructor [2020.12.03-07.57.24:616][118] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-07.57.24:616][118] Prop OnInputTouchLeave at offset 484; 1x 1 bytes of type MulticastSparseDelegateProperty [2020.12.03-07.57.24:616][118] Flag CPF_InstancedReference [2020.12.03-07.57.24:616][118] Flag CPF_BlueprintAssignable [2020.12.03-07.57.24:616][118] Flag CPF_NoDestructor [2020.12.03-07.57.24:616][118] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-07.57.24:616][118] Prop OnActorHit at offset 485; 1x 1 bytes of type MulticastSparseDelegateProperty [2020.12.03-07.57.24:616][118] Flag CPF_InstancedReference [2020.12.03-07.57.24:616][118] Flag CPF_BlueprintAssignable [2020.12.03-07.57.24:616][118] Flag CPF_NoDestructor [2020.12.03-07.57.24:617][118] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-07.57.24:617][118] Prop OnDestroyed at offset 486; 1x 1 bytes of type MulticastSparseDelegateProperty [2020.12.03-07.57.24:617][118] Flag CPF_InstancedReference [2020.12.03-07.57.24:617][118] Flag CPF_BlueprintAssignable [2020.12.03-07.57.24:617][118] Flag CPF_NoDestructor [2020.12.03-07.57.24:617][118] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-07.57.24:617][118] Prop OnEndPlay at offset 487; 1x 1 bytes of type MulticastSparseDelegateProperty [2020.12.03-07.57.24:617][118] Flag CPF_InstancedReference [2020.12.03-07.57.24:617][118] Flag CPF_BlueprintAssignable [2020.12.03-07.57.24:617][118] Flag CPF_NoDestructor [2020.12.03-07.57.24:617][118] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-07.57.24:617][118] Prop InstanceComponents at offset 680; 1x 16 bytes of type ArrayProperty [2020.12.03-07.57.24:617][118] Flag CPF_ExportObject [2020.12.03-07.57.24:617][118] Flag CPF_ZeroConstructor [2020.12.03-07.57.24:618][118] Flag CPF_ContainsInstancedReference [2020.12.03-07.57.24:618][118] Flag CPF_HasGetValueTypeHash [2020.12.03-07.57.24:618][118] Flag CPF_NativeAccessSpecifierPrivate [2020.12.03-07.57.24:618][118] Prop BlueprintCreatedComponents at offset 696; 1x 16 bytes of type ArrayProperty [2020.12.03-07.57.24:618][118] Flag CPF_ExportObject [2020.12.03-07.57.24:618][118] Flag CPF_ZeroConstructor [2020.12.03-07.57.24:618][118] Flag CPF_NonTransactional [2020.12.03-07.57.24:618][118] Flag CPF_ContainsInstancedReference [2020.12.03-07.57.24:618][118] Flag CPF_TextExportTransient [2020.12.03-07.57.24:618][118] Flag CPF_HasGetValueTypeHash [2020.12.03-07.57.24:618][118] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-07.57.24:618][118]0) OnInputTouchBegin (MulticastSparseDelegateProperty) [2020.12.03-07.57.24:618][118]1) OnInputTouchEnd (MulticastSparseDelegateProperty) [2020.12.03-07.57.24:618][118]2) OnInputTouchEnter (MulticastSparseDelegateProperty) [2020.12.03-07.57.24:618][118]3) OnInputTouchLeave (MulticastSparseDelegateProperty)
listfuncs
listfuncs MyTest1Character
[2020.12.03-13.14.11:360][922]Listing functions introduced in class MyTest1Character (class flags = 0x30C008A4) [2020.12.03-13.14.11:360][922]Function GetText2 [2020.12.03-13.14.11:360][922]Function GetText1 [2020.12.03-13.14.11:360][922]Function GetStr1 [2020.12.03-13.14.11:361][922]Function UnCrouch [2020.12.03-13.14.11:361][922]Function StopJumping [2020.12.03-13.14.11:361][922]Function StopAnimMontage [2020.12.03-13.14.11:361][922]Function ServerMoveOld [2020.12.03-13.14.11:361][922]Function ServerMoveNoBase [2020.12.03-13.14.11:361][922]Function ServerMoveDualNoBase [2020.12.03-13.14.11:361][922]Function ServerMoveDualHybridRootMotion [2020.12.03-13.14.11:361][922]Function ServerMoveDual [2020.12.03-13.14.11:361][922]Function ServerMove [2020.12.03-13.14.11:361][922]Function RootMotionDebugClientPrintOnScreen [2020.12.03-13.14.11:361][922]Function PlayAnimMontage [2020.12.03-13.14.11:361][922]Function OnWalkingOffLedge [2020.12.03-13.14.11:362][922]Function OnRep_RootMotion [2020.12.03-13.14.11:362][922]Function OnRep_ReplicatedBasedMovement [2020.12.03-13.14.11:362][922]Function OnRep_ReplayLastTransformUpdateTimeStamp [2020.12.03-13.14.11:362][922]Function OnRep_IsCrouched [2020.12.03-13.14.11:362][922]Function OnLaunched [2020.12.03-13.14.11:362][922]Function OnLanded [2020.12.03-13.14.11:362][922]Function OnJumped [2020.12.03-13.14.11:362][922]Function LaunchCharacter 。。。 。。。 。。。 。。。 。。。 。。。 [2020.12.03-13.14.11:374][922]Function EnableInput [2020.12.03-13.14.11:374][922]Function DisableInput [2020.12.03-13.14.11:374][922]Function DetachRootComponentFromParent [2020.12.03-13.14.11:374][922]Function AddTickPrerequisiteComponent [2020.12.03-13.14.11:374][922]Function AddTickPrerequisiteActor [2020.12.03-13.14.11:374][922]Function AddComponent [2020.12.03-13.14.11:374][922]Function ActorHasTag [2020.12.03-13.14.11:374][922]Function ExecuteUbergraph [2020.12.03-13.14.11:374][922]Command not recognized: listfuncs MyTest1Character
listfunc
listfunc MyTest1Character GetText2
[2020.12.03-13.16.35:501][740]Processing function GetText2 [2020.12.03-13.16.35:501][740] Flag Final [2020.12.03-13.16.35:501][740] Flag Native [2020.12.03-13.16.35:501][740] Flag Public [2020.12.03-13.16.35:501][740] Flag BlueprintCallable [2020.12.03-13.16.35:501][740] 1 parameters taking up 24 bytes, with return value at offset 0 [2020.12.03-13.16.35:501][740] Parameter ReturnValue at offset 0; 1x 24 bytes of type TextProperty [2020.12.03-13.16.35:501][740] Flag CPF_Parm [2020.12.03-13.16.35:501][740] Flag CPF_OutParm [2020.12.03-13.16.35:501][740] Flag CPF_ReturnParm [2020.12.03-13.16.35:501][740] Flag CPF_NativeAccessSpecifierPublic [2020.12.03-13.16.35:501][740] Total stack size 24 bytes
listfunc PlayerController LocalTravel
[2023.04.27-02.07.28:654][885]Processing function LocalTravel [2023.04.27-02.07.28:654][885] Flag Exec [2023.04.27-02.07.28:654][885] Flag Native [2023.04.27-02.07.28:654][885] Flag Public [2023.04.27-02.07.28:654][885] 1 parameters taking up 16 bytes, with return value at offset 65535 [2023.04.27-02.07.28:655][885] Parameter URL at offset 0; 1x 16 bytes of type StrProperty [2023.04.27-02.07.28:655][885] Flag CPF_Parm [2023.04.27-02.07.28:655][885] Flag CPF_ZeroConstructor [2023.04.27-02.07.28:655][885] Flag CPF_HasGetValueTypeHash [2023.04.27-02.07.28:655][885] Flag CPF_NativeAccessSpecifierPublic [2023.04.27-02.07.28:655][885] Total stack size 16 bytes
reloadconfig
reloadconfig MyTest1Character // 为MyTest1Character类型重新加载ini配置 注:好像没有作用
reloadcfg ThirdPersonCharacter_2 // 为ThirdPersonCharacter_2对象重新加载ini配置 注:好像没有作用
obj verifycomponents
// 对所有object对象进行诊断,输出有问题的object
obj transactional
// 查看所有带RF_Transactional标志的Object对象(即:事务性Object对象,主要用于编辑器中undo、redo操作)
obj gc
// 以阻塞的方式进行一次全量的GC(包括Mark和Sweep阶段)
[2021.06.09-12.05.05:000][450]Collecting garbage and resetting GC timer. [2021.06.09-12.05.05:075][450]LogUObjectHash: |UObjectHash.cpp:333|Compacting FUObjectHashTables data took 3.21ms
obj garbage // 功能同上
obj trygc
// 以阻塞的方式尝试进行一次全量的GC(包括Mark和Sweep阶段)
obj mark
obj mark // 标记当前所有的object对象
obj markcheck // 与上一次obj mark的结果进行对比,打印出新增的object对象
[2020.12.07-03.53.48:786][734]LogObj: Marking objects [2020.12.07-03.53.50:986][812]LogTemp: New two Objects [2020.12.07-03.53.56:155][841]LogObj: Unmarked (new) objects: [2020.12.07-03.53.56:161][841]LogObj: MyObject /Engine/Transient.MyObject_3 [2020.12.07-03.53.56:161][841]LogObj: MyObject /Engine/Transient.MyObject_2
obj invmark
obj invmark // 标记当前所有的object对象
obj invmarkcheck // 与上一次obj invmark的结果进行对比,打印出删除的object对象
[2020.12.07-03.58.08:381][147]LogTemp: New two Objects [2020.12.07-03.58.11:429][377]LogObj: InvMarking existing objects [2020.12.07-03.58.17:134][245]Collecting garbage and resetting GC timer. [2020.12.07-03.58.17:148][245]LogUObjectArray: Warning: Empty slot [2020.12.07-03.58.17:149][245]LogUObjectArray: Warning: Empty slot [2020.12.07-03.58.17:150][245]LogUObjectHash: Compacting FUObjectHashTables data took 1.05ms [2020.12.07-03.58.21:791][967]LogObj: Objects that were deleted: [2020.12.07-03.58.21:827][967]LogObj: MyObject /Engine/Transient.MyObject_5 [2020.12.07-03.58.21:827][967]LogObj: MyObject /Engine/Transient.MyObject_4
obj spikemark
obj spikemark // 标记当前所有的object对象 注:会先执行FlushAsyncLoading函数
obj spikemarkcheck // 与上一次obj spikemark的结果进行对比,打印出在spikemark之后创建又删除的object对象
[2020.12.07-06.46.45:838][380]LogObj: Spikemarking objects [2020.12.07-06.46.51:962][435]LogTemp: New two Objects [2020.12.07-06.46.58:093][542]Collecting garbage and resetting GC timer. [2020.12.07-06.46.58:115][542]LogUObjectArray: Warning: Empty slot [2020.12.07-06.46.58:116][542]LogUObjectArray: Warning: Empty slot [2020.12.07-06.46.58:118][542]LogUObjectHash: Compacting FUObjectHashTables data took 2.19ms [2020.12.07-06.47.00:862][814]LogObj: Spikemarked (created and then destroyed) objects: [2020.12.07-06.47.00:863][814]LogObj: MyObject /Engine/Transient.MyObject_7 [2020.12.07-06.47.00:863][814]LogObj: MyObject /Engine/Transient.MyObject_6
obj classes
// 按继承关系列出所有加载到内存的Object类型(含所有的Native和已加载的Blueprint)
[2020.11.13-06.43.54:974][607]Object (48) [2020.11.13-06.43.54:974][607] GCObjectReferencer (120) [2020.11.13-06.43.54:974][607] TextBuffer (88) [2020.11.13-06.43.54:975][607] Field (56) [2020.11.13-06.43.54:975][607] Struct (192) [2020.11.13-06.43.54:975][607] ScriptStruct (208) [2020.11.13-06.43.54:976][607] MovieSceneKeyStructType (400) [2020.11.13-06.43.54:976][607] UserDefinedStruct (312) [2020.11.13-06.43.54:976][607] AISenseBlueprintListener (312) [2020.11.13-06.43.54:977][607] Class (632) [2020.11.13-06.43.54:977][607] DynamicClass (760) [2020.11.13-06.43.54:977][607] LinkerPlaceholderClass (1072) [2020.11.13-06.43.54:978][607] BlueprintGeneratedClass (1512) [2020.11.13-06.43.54:978][607] WidgetBlueprintGeneratedClass (1640) [2020.11.13-06.43.54:978][607] AnimBlueprintGeneratedClass (2632) [2020.11.13-06.43.54:979][607] Function (240) [2020.11.13-06.43.54:979][607] DelegateFunction (240) [2020.11.13-06.43.54:979][607] SparseDelegateFunction (264) [2020.11.13-06.43.54:980][607] LinkerPlaceholderFunction (680) [2020.11.13-06.43.54:980][607] Enum (104) [2020.11.13-06.43.54:980][607] UserDefinedEnum (216) [2020.11.13-06.43.54:981][607] Property (136) [2020.11.13-06.43.54:981][607] EnumProperty (152) [2020.11.13-06.43.54:981][607] ArrayProperty (144) [2020.11.13-06.43.54:982][607] ObjectPropertyBase (144) [2020.11.13-06.43.54:982][607] ObjectProperty (144) [2020.11.13-06.43.54:982][607] ClassProperty (152) [2020.11.13-06.43.54:983][607] LazyObjectProperty (144) [2020.11.13-06.43.54:983][607] SoftObjectProperty (144) [2020.11.13-06.43.54:983][607] SoftClassProperty (152) [2020.11.13-06.43.54:984][607] WeakObjectProperty (144) [2020.11.13-06.43.54:984][607] BoolProperty (144) [2020.11.13-06.43.54:984][607] NumericProperty (136) [2020.11.13-06.43.54:985][607] ByteProperty (144) [2020.11.13-06.43.54:985][607] DoubleProperty (136) [2020.11.13-06.43.54:985][607] FloatProperty (136) [2020.11.13-06.43.54:986][607] IntProperty (136) [2020.11.13-06.43.54:986][607] Int8Property (136) [2020.11.13-06.43.54:986][607] Int16Property (136) [2020.11.13-06.43.54:987][607] Int64Property (136) [2020.11.13-06.43.54:987][607] UInt16Property (136) [2020.11.13-06.43.54:987][607] UInt32Property (136) [2020.11.13-06.43.54:988][607] UInt64Property (136) [2020.11.13-06.43.54:988][607] DelegateProperty (144) [2020.11.13-06.43.54:988][607] InterfaceProperty (144) [2020.11.13-06.43.54:989][607] MapProperty (176) [2020.11.13-06.43.54:989][607] MulticastDelegateProperty (144) [2020.11.13-06.43.54:989][607] MulticastInlineDelegateProperty (144) [2020.11.13-06.43.54:990][607] MulticastSparseDelegateProperty (144) [2020.11.13-06.43.54:990][607] NameProperty (136) [2020.11.13-06.43.54:990][607] SetProperty (168) [2020.11.13-06.43.54:991][607] StrProperty (136) [2020.11.13-06.43.54:991][607] StructProperty (144) [2020.11.13-06.43.54:991][607] TextProperty (136) [2020.11.13-06.43.54:992][607] Package (224) [2020.11.13-06.43.54:992][607] ... ... [2020.11.13-06.43.54:992][607] ... ... [2020.11.13-06.43.56:037][607] MyBPObject (48) [2020.11.13-06.43.56:038][607] MyBlueprintObject_C (64) [2020.11.13-06.43.56:038][607] SKEL_MyBlueprintObject_C (80) [2020.11.13-06.43.56:038][607] REINST_MyBlueprintObject_C_9 (64) [2020.11.13-06.43.56:039][607] MyObject (48) [2020.11.13-06.43.56:039][607] MyTestObject (56) [2020.11.13-06.43.56:039][607] MyPluginObject (64) [2020.11.13-06.43.56:040][607] ... ... [2020.11.13-06.43.56:040][607] ... ...
注1:MyBlueprintObject_C为从MyBPObject派生的Blueprint的Object类型
注2:右边括号中的数字为该类型的内存Size 例如:UObject的sizeof为48
obj intrinsicclasses
// 打印出内在的Native类型(CLASS_Native & CLASS_Intrinsic)
obj bulk
// 打印出大块的数据
obj list
obj list class=MyBlueprintObject_C // 查看所有MyBlueprintObject_C类型的对象(不包括CDO对象)
UCLASS(config=Game) class AMyTest1Character : public ACharacter { GENERATED_BODY() // ... ... public: UPROPERTY() UMyBPObject* m_BPObj1; UPROPERTY() UClass* m_MyBPObjectClass; }; void AMyTest1Character::OnResetVR() // 按R快捷键触发执行 { FString MyBPObjectPath = TEXT("/Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C"); m_MyBPObjectClass = LoadClass<UObject>(nullptr, *MyBPObjectPath); // MyBPObjectClass为UBlueprintGeneratedClass*类型 m_BPObj1 = NewObject<UMyBPObject>(this, m_MyBPObjectClass); }
结果输出如下:
Obj List: class=MyBlueprintObject_C Objects: Object NumKB MaxKB ResExcKB ResExcDedSysKB ResExcShrSysKB ResExcDedVidKB ResExcShrVidKB ResExcUnkKB MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0 0.08 0.08 0.00 0.00 0.00 0.00 0.00 0.00 Class Count NumKB MaxKB ResExcKB ResExcDedSysKB ResExcShrSysKB ResExcDedVidKB ResExcShrVidKB ResExcUnkKB MyBlueprintObject_C 1 0.08 0.08 0.00 0.00 0.00 0.00 0.00 0.00 1 Objects (Total: 0.000M / Max: 0.000M / Res: 0.000M | ResDedSys: 0.000M / ResShrSys: 0.000M / ResDedVid: 0.000M / ResShrVid: 0.000M / ResUnknown: 0.000M)
注1:NumKB为对象大小,MaxKB为对象大小峰值。引用资源的内存则通过调用各UObject类型的void GetResourceSizeEx(FResourceSizeEx& CumulativeResourceSize)函数来计算
注2:ResExcKB // 对象引用资源的总大小 FResourceSizeEx.GetTotalMemoryBytes()
ResExcDedSysKB // FResourceSizeEx.GetDedicatedSystemMemoryBytes()
ResExcShrSysKB // FResourceSizeEx.GetSharedSystemMemoryBytes()
ResExcDedVidKB // FResourceSizeEx.GetDedicatedVideoMemoryBytes()
ResExcShrVidKB // FResourceSizeEx.GetSharedVideoMemoryBytes()
ResExcUnkKB // FResourceSizeEx.GetUnknownMemoryBytes()
注3:个数 Objects (Total: NumKB之和 / Max: MaxKB之和 / Res: ResExcKB之和 | ResDedSys: ResExcDedSysKB之和 / ResShrSys: ResExcShrSysKB之和 / ResDedVid: ResExcDedVidKB之和 / ResShrVid: ResExcShrVidKB之和 / ResUnknown: ResExcUnkKB之和)
注4:Res为resource、Exc为exclusive、Ded为dedicated、Shr为share、Sys为system memory、Vid为video memory
obj list class=object // 查看所有的object类型的对象统计表(不列出所有的Object对象,不包括CDO对象)
Obj List: class=object Objects: Class Count NumKB MaxKB ResExcKB ResExcDedSysKB ResExcShrSysKB ResExcDedVidKB ResExcShrVidKB ResExcUnkKB Class 3264 8617.26 10784.09 0.00 0.00 0.00 0.00 0.00 0.00 MetaData 374 7476.45 7476.45 0.00 0.00 0.00 0.00 0.00 0.00 ScriptStruct 1876 3553.06 4659.76 0.00 0.00 0.00 0.00 0.00 0.00 FontFace 6 4649.06 4649.06 4647.39 4647.39 0.00 0.00 0.00 0.00 Function 6729 1708.92 2090.55 0.00 0.00 0.00 0.00 0.00 0.00 SkeletalMesh 1 1176.95 1224.44 555.93 18.59 0.00 0.00 0.00 537.34 Package 485 800.45 879.53 0.00 0.00 0.00 0.00 0.00 0.00 DeviceProfile 85 407.86 659.87 0.00 0.00 0.00 0.00 0.00 0.00 Enum 1075 259.39 623.61 0.00 0.00 0.00 0.00 0.00 0.00 Material 80 324.80 368.34 4125.33 4125.33 0.00 0.00 0.00 0.00 AnimSequence 6 180.14 181.58 0.00 0.00 0.00 0.00 0.00 0.00 StaticMesh 34 84.04 94.85 2219.52 27.63 0.00 0.00 0.00 2191.89 DelegateFunction 289 74.09 92.49 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionMultiply 160 55.16 81.41 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionTextureSample 60 44.11 78.33 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionCustom 67 59.12 70.11 0.00 0.00 0.00 0.00 0.00 0.00 Texture2D 82 62.85 62.85 52455.38 0.00 0.00 52455.38 0.00 0.00 K2Node_CallFunction 146 56.48 56.57 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionVectorParameter 50 25.82 55.90 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionConstant 132 31.18 52.84 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionAdd 92 31.78 46.87 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionComment 97 30.84 46.75 0.00 0.00 0.00 0.00 0.00 0.00 StaticMeshComponent 21 43.71 46.06 52.10 52.10 0.00 0.00 0.00 0.00 MaterialExpressionMaterialFunctionCall 63 38.00 43.89 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionFunctionInput 61 30.25 40.26 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionReroute 79 22.24 35.20 0.00 0.00 0.00 0.00 0.00 0.00 BodySetup 37 34.31 34.78 541.94 541.94 0.00 0.00 0.00 0.00 BlueprintGeneratedClass 11 25.25 30.32 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionLinearInterpolate 51 22.19 29.36 0.00 0.00 0.00 0.00 0.00 0.00 MaterialInstanceDynamic 10 18.52 27.88 5.41 5.41 0.00 0.00 0.00 0.00 MaterialExpressionFunctionOutput 49 18.47 26.51 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionComponentMask 55 17.19 24.92 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionDivide 46 16.13 23.68 0.00 0.00 0.00 0.00 0.00 0.00 Font 5 23.16 23.26 0.00 0.00 0.00 0.00 0.00 0.00 MaterialInstanceConstant 13 22.19 22.34 156.55 156.55 0.00 0.00 0.00 0.00 MaterialExpressionClamp 39 15.93 22.32 0.00 0.00 0.00 0.00 0.00 0.00 AnimGraphNode_SequencePlayer 9 13.45 21.12 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionTextureSampleParameter2D 14 12.58 20.23 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionTextureCoordinate 49 11.87 19.91 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_VariableGet 55 19.80 19.80 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_Tunnel 48 18.78 18.78 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionFeatureLevelSwitch 28 14.05 18.64 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionSubtract 35 12.23 17.97 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionScalarParameter 37 10.70 16.77 0.00 0.00 0.00 0.00 0.00 0.00 MaterialFunction 28 13.73 15.11 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionAppendVector 28 10.06 14.00 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionMakeMaterialAttributes 7 12.30 13.45 0.00 0.00 0.00 0.00 0.00 0.00 SkeletalMeshComponent 1 12.80 13.25 8.38 1.30 0.00 0.00 0.00 7.08 AnimBlueprintGeneratedClass 2 7.93 13.20 0.00 0.00 0.00 0.00 0.00 0.00 SparseDelegateFunction 33 9.82 13.17 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionConstant3Vector 32 8.65 13.15 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionSceneTexture 29 10.20 13.14 0.00 0.00 0.00 0.00 0.00 0.00 AssetImportData 137 12.84 12.84 0.00 0.00 0.00 0.00 0.00 0.00 StaticMeshActor 17 12.70 12.70 0.00 0.00 0.00 0.00 0.00 0.00 EdGraph 49 11.85 12.40 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionIf 18 9.33 12.28 0.00 0.00 0.00 0.00 0.00 0.00 SceneThumbnailInfoWithPrimitive 111 12.14 12.14 0.00 0.00 0.00 0.00 0.00 0.00 Blueprint 4 11.73 11.73 0.00 0.00 0.00 0.00 0.00 0.00 Skeleton 1 10.93 10.96 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionStaticSwitchParameter 19 7.42 10.54 0.00 0.00 0.00 0.00 0.00 0.00 PlayerCameraManager 1 10.27 10.45 0.00 0.00 0.00 0.00 0.00 0.00 AnimGraphNode_StateResult 12 7.27 9.96 0.00 0.00 0.00 0.00 0.00 0.00 MapBuildDataRegistry 1 9.88 9.96 0.00 0.00 0.00 0.00 0.00 0.00 GameEngine 1 9.05 9.74 0.00 0.00 0.00 0.00 0.00 0.00 EdGraphNode_Comment 27 9.43 9.43 0.00 0.00 0.00 0.00 0.00 0.00 AnimStateTransitionNode 8 9.31 9.31 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_FunctionEntry 18 9.22 9.24 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionDotProduct 18 6.47 9.00 0.00 0.00 0.00 0.00 0.00 0.00 Button 6 8.80 8.92 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionConstant2Vector 22 5.67 8.77 0.00 0.00 0.00 0.00 0.00 0.00 Model 3 8.76 8.76 0.00 0.00 0.00 0.00 0.00 0.00 AnimGraphNode_BlendSpacePlayer 3 5.99 8.36 0.00 0.00 0.00 0.00 0.00 0.00 NavCollision 32 8.25 8.25 27.79 27.79 0.00 0.00 0.00 0.00 AnimGraphNode_TransitionResult 12 7.69 7.96 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionVertexColor 8 2.81 7.63 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionAbs 17 4.78 7.57 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_AssignmentStatement 34 7.15 7.15 0.00 0.00 0.00 0.00 0.00 0.00 ThumbnailManager 1 5.71 7.00 0.00 0.00 0.00 0.00 0.00 0.00 AnimStateNode 8 7.00 7.00 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_TemporaryVariable 17 6.70 6.70 0.00 0.00 0.00 0.00 0.00 0.00 Polys 3 4.88 6.56 0.00 0.00 0.00 0.00 0.00 0.00 TextBlock 6 6.52 6.52 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_MacroInstance 11 6.44 6.44 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionPower 12 4.18 6.15 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionShadingPathSwitch 10 4.45 6.09 0.00 0.00 0.00 0.00 0.00 0.00 WidgetBlueprintGeneratedClass 2 4.39 5.68 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_IfThenElse 24 5.42 5.42 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_StructMemberGet 2 3.00 5.41 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionBreakMaterialAttributes 3 3.40 5.39 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionNormalize 12 3.66 5.34 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionTextureObjectParameter 6 4.45 5.30 0.00 0.00 0.00 0.00 0.00 0.00 LineBatchComponent 3 3.70 5.11 1.50 1.50 0.00 0.00 0.00 0.00 BrushComponent 3 3.70 5.02 0.96 0.96 0.00 0.00 0.00 0.00 MaterialExpressionSphereMask 8 3.67 4.98 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_Event 9 4.74 4.91 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionFloor 11 3.09 4.90 0.00 0.00 0.00 0.00 0.00 0.00 SceneComponent 9 4.66 4.73 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionOneMinus 10 2.85 4.49 0.00 0.00 0.00 0.00 0.00 0.00 LightMapTexture2D 6 4.41 4.41 2568.19 0.00 0.00 2568.19 0.00 0.00 K2Node_VariableSet 9 4.40 4.40 0.00 0.00 0.00 0.00 0.00 0.00 FbxStaticMeshImportData 20 4.22 4.22 0.00 0.00 0.00 0.00 0.00 0.00 CameraComponent 2 4.06 4.09 0.00 0.00 0.00 0.00 0.00 0.00 Console 1 3.46 4.02 0.00 0.00 0.00 0.00 0.00 0.00 ParticleSystemComponent 1 3.13 3.94 3.17 1.13 0.00 0.00 0.00 2.05 CurveLinearColor 3 3.62 3.79 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionFrac 8 2.28 3.59 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionWorldPosition 9 2.11 3.59 0.00 0.00 0.00 0.00 0.00 0.00 CapsuleComponent 2 2.45 3.53 0.93 0.93 0.00 0.00 0.00 0.00 World 1 2.72 3.40 0.00 0.00 0.00 0.00 0.00 0.00 DrawFrustumComponent 2 2.41 3.34 0.00 0.00 0.00 0.00 0.00 0.00 DrawSphereComponent 2 2.41 3.34 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionTransform 7 2.02 3.17 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_CommutativeAssociativeBinaryOperator 8 3.15 3.15 0.00 0.00 0.00 0.00 0.00 0.00 InputComponent 4 1.69 3.00 0.00 0.00 0.00 0.00 0.00 0.00 AnimGraphNode_StateMachine 2 1.75 2.96 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionStaticSwitch 5 1.99 2.81 0.00 0.00 0.00 0.00 0.00 0.00 SceneThumbnailInfo 45 2.81 2.81 0.00 0.00 0.00 0.00 0.00 0.00 AnimationTransitionGraph 12 2.70 2.79 0.00 0.00 0.00 0.00 0.00 0.00 AnimationStateGraph 12 2.67 2.74 0.00 0.00 0.00 0.00 0.00 0.00 Image 3 2.65 2.65 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionDesaturation 5 1.88 2.58 0.00 0.00 0.00 0.00 0.00 0.00 ThirdPerson_AnimBP_C 1 2.57 2.57 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionDistance 5 1.68 2.50 0.00 0.00 0.00 0.00 0.00 0.00 Level 1 2.31 2.49 0.00 0.00 0.00 0.00 0.00 0.00 PlayerInput 1 2.47 2.47 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_ExecutionSequence 12 2.44 2.44 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionCameraPositionWS 6 1.50 2.34 0.00 0.00 0.00 0.00 0.00 0.00 CameraAnimInst 8 2.25 2.25 0.00 0.00 0.00 0.00 0.00 0.00 StructProperty 16 2.25 2.25 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionCeil 5 1.41 2.23 0.00 0.00 0.00 0.00 0.00 0.00 PostProcessVolume 1 2.18 2.18 0.00 0.00 0.00 0.00 0.00 0.00 AnimCompress_PerTrackCompression 8 2.14 2.17 0.00 0.00 0.00 0.00 0.00 0.00 CameraActor 1 2.11 2.11 0.00 0.00 0.00 0.00 0.00 0.00 CanvasPanelSlot 9 2.04 2.04 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_Knot 10 2.03 2.03 0.00 0.00 0.00 0.00 0.00 0.00 AnimBlueprint 1 2.01 2.03 0.00 0.00 0.00 0.00 0.00 0.00 NavigationSystemV1 1 1.51 2.02 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionScreenPosition 5 1.29 1.95 0.00 0.00 0.00 0.00 0.00 0.00 WorldSettings 1 1.84 1.86 0.00 0.00 0.00 0.00 0.00 0.00 MaterialBillboardComponent 1 1.23 1.81 1.27 1.27 0.00 0.00 0.00 0.00 CanvasPanel 3 1.80 1.80 0.00 0.00 0.00 0.00 0.00 0.00 TextRenderComponent 1 1.25 1.72 1.39 1.39 0.00 0.00 0.00 0.00 PlayerController 1 1.63 1.72 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionPanner 3 1.22 1.71 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_StructMemberSet 2 1.19 1.70 0.00 0.00 0.00 0.00 0.00 0.00 ThirdPersonCharacter_C 1 1.66 1.66 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionTime 4 0.94 1.59 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionStaticBool 4 0.94 1.59 0.00 0.00 0.00 0.00 0.00 0.00 CharacterMovementComponent 1 1.56 1.56 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionPixelNormalWS 4 1.00 1.56 0.00 0.00 0.00 0.00 0.00 0.00 UserDefinedEnum 5 1.55 1.55 0.00 0.00 0.00 0.00 0.00 0.00 LevelScriptBlueprint 1 1.41 1.54 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionMin 3 1.03 1.52 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_InputKey 5 1.52 1.52 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionSpriteTextureSampler 1 0.93 1.48 0.00 0.00 0.00 0.00 0.00 0.00 ShadowMapTexture2D 2 1.47 1.47 2733.33 0.00 0.00 2733.33 0.00 0.00 Canvas 2 1.44 1.44 0.00 0.00 0.00 0.00 0.00 0.00 InputKeyDelegateBinding 1 0.38 1.44 0.00 0.00 0.00 0.00 0.00 0.00 VolumeTexture 2 1.44 1.44 8.06 0.00 0.00 0.00 0.00 8.06 WidgetBlueprint 1 1.41 1.43 0.00 0.00 0.00 0.00 0.00 0.00 FbxAnimSequenceImportData 6 1.42 1.42 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_TransitionRuleGetter 6 1.41 1.41 0.00 0.00 0.00 0.00 0.00 0.00 TextureCube 2 1.38 1.38 16448.06 0.00 0.00 16448.06 0.00 0.00 MaterialExpressionConstantBiasScale 3 0.87 1.36 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionSquareRoot 3 0.84 1.34 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionParticleSubUV 1 0.77 1.31 0.00 0.00 0.00 0.00 0.00 0.00 AnimGraphNode_Root 2 1.21 1.29 0.00 0.00 0.00 0.00 0.00 0.00 TextureRenderTarget2D 2 1.28 1.28 0.01 0.00 0.00 0.00 0.00 0.01 AnimStateEntryNode 2 1.25 1.25 0.00 0.00 0.00 0.00 0.00 0.00 AbstractNavData 1 1.23 1.23 0.00 0.00 0.00 0.00 0.00 0.00 GameplayDebuggerRenderingComponent 1 1.23 1.23 0.00 0.00 0.00 0.00 0.00 0.00 SCS_Node 4 1.23 1.23 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionTextureObject 3 0.80 1.22 0.00 0.00 0.00 0.00 0.00 0.00 AssetManager 1 1.22 1.22 0.00 0.00 0.00 0.00 0.00 0.00 DeviceProfileManager 1 0.84 1.20 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionViewSize 3 0.68 1.17 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionSceneTexelSize 3 0.68 1.17 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_SetVariableOnPersistentFrame 6 1.17 1.17 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionTwoSidedSign 3 0.68 1.17 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionCameraVectorWS 3 0.68 1.17 0.00 0.00 0.00 0.00 0.00 0.00 AtmosphericFogComponent 1 1.11 1.11 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_CustomEvent 2 1.09 1.09 0.00 0.00 0.00 0.00 0.00 0.00 GameplayTagsManager 1 1.01 1.07 0.00 0.00 0.00 0.00 0.00 0.00 SkyLightComponent 1 1.06 1.06 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_CallArrayFunction 3 1.03 1.03 0.00 0.00 0.00 0.00 0.00 0.00 PlayerState 1 1.02 1.02 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionFontSampleParameter 1 0.48 1.02 0.00 0.00 0.00 0.00 0.00 0.00 DocumentationActor 1 0.92 1.01 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionFmod 2 0.67 1.00 0.00 0.00 0.00 0.00 0.00 0.00 NewWidgetBlueprint_C 1 0.98 0.98 0.00 0.00 0.00 0.00 0.00 0.00 DirectionalLightComponent 1 0.97 0.97 0.00 0.00 0.00 0.00 0.00 0.00 HUD 1 0.96 0.96 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionParticleColor 1 0.38 0.95 0.00 0.00 0.00 0.00 0.00 0.00 BP_Sky_Sphere_C 1 0.92 0.92 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_VariableSetRef 4 0.91 0.91 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_ComponentBoundEvent 2 0.91 0.91 0.00 0.00 0.00 0.00 0.00 0.00 MyTest1GameMode 1 0.90 0.90 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionDDX 2 0.56 0.89 0.00 0.00 0.00 0.00 0.00 0.00 GameNetworkManager 1 0.89 0.89 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionDDY 2 0.56 0.89 0.00 0.00 0.00 0.00 0.00 0.00 GameViewportClient 1 0.84 0.84 0.00 0.00 0.00 0.00 0.00 0.00 BoolProperty 6 0.84 0.84 0.00 0.00 0.00 0.00 0.00 0.00 GameplayDebuggerPlayerManager 1 0.77 0.84 0.00 0.00 0.00 0.00 0.00 0.00 GameplayDebuggerCategoryReplicator 1 0.84 0.84 0.00 0.00 0.00 0.00 0.00 0.00 LightmassImportanceVolume 1 0.84 0.84 0.00 0.00 0.00 0.00 0.00 0.00 AnimCompress_RemoveLinearKeys 6 0.83 0.83 0.00 0.00 0.00 0.00 0.00 0.00 GameStateBase 1 0.80 0.83 0.00 0.00 0.00 0.00 0.00 0.00 Emitter 1 0.82 0.82 0.00 0.00 0.00 0.00 0.00 0.00 PlayerStart 1 0.81 0.81 0.00 0.00 0.00 0.00 0.00 0.00 FloatProperty 6 0.80 0.80 0.00 0.00 0.00 0.00 0.00 0.00 DefaultPhysicsVolume 1 0.79 0.79 0.00 0.00 0.00 0.00 0.00 0.00 SphereReflectionCapture 1 0.79 0.79 0.00 0.00 0.00 0.00 0.00 0.00 ThirdPersonExampleMap_C 1 0.78 0.78 0.00 0.00 0.00 0.00 0.00 0.00 DirectionalLight 1 0.77 0.77 0.00 0.00 0.00 0.00 0.00 0.00 AtmosphericFog 1 0.76 0.76 0.00 0.00 0.00 0.00 0.00 0.00 TextRenderActor 1 0.76 0.76 0.00 0.00 0.00 0.00 0.00 0.00 SkyLight 1 0.75 0.75 0.00 0.00 0.00 0.00 0.00 0.00 GameSession 1 0.75 0.75 0.00 0.00 0.00 0.00 0.00 0.00 BlendSpace1D 1 0.73 0.73 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_DynamicCast 3 0.73 0.73 0.00 0.00 0.00 0.00 0.00 0.00 ParticleEventManager 1 0.71 0.71 0.00 0.00 0.00 0.00 0.00 0.00 PaperSprite 1 0.70 0.70 0.00 0.00 0.00 0.00 0.00 0.00 SphereReflectionCaptureComponent 1 0.67 0.69 0.00 0.00 0.00 0.00 0.00 0.00 SpringArmComponent 1 0.66 0.69 0.00 0.00 0.00 0.00 0.00 0.00 CubeBuilder 1 0.64 0.64 0.00 0.00 0.00 0.00 0.00 0.00 AnimationStateMachineGraph 2 0.64 0.64 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_GetArrayItem 3 0.63 0.63 0.00 0.00 0.00 0.00 0.00 0.00 InterpGroupInst 8 0.63 0.63 0.00 0.00 0.00 0.00 0.00 0.00 ButtonSlot 6 0.61 0.61 0.00 0.00 0.00 0.00 0.00 0.00 LocalPlayer 1 0.60 0.60 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_FunctionResult 2 0.59 0.59 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionFresnel 1 0.41 0.57 0.00 0.00 0.00 0.00 0.00 0.00 ParticleSpriteEmitter 1 0.52 0.53 0.00 0.00 0.00 0.00 0.00 0.00 ParticleSystem 1 0.52 0.52 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionSceneDepth 1 0.35 0.52 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionDepthFade 1 0.37 0.51 0.00 0.00 0.00 0.00 0.00 0.00 K2Node_CreateWidget 1 0.41 0.50 0.00 0.00 0.00 0.00 0.00 0.00 EnvQueryManager 1 0.49 0.49 0.00 0.00 0.00 0.00 0.00 0.00 SoundSubmix 3 0.48 0.48 0.00 0.00 0.00 0.00 0.00 0.00 AnimationGraphSchema 1 0.46 0.46 0.00 0.00 0.00 0.00 0.00 0.00 ParticleLODLevel 1 0.36 0.46 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionSine 1 0.29 0.45 0.00 0.00 0.00 0.00 0.00 0.00 AnimationGraph 2 0.44 0.45 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionSaturate 1 0.28 0.45 0.00 0.00 0.00 0.00 0.00 0.00 GameInstance 1 0.42 0.45 0.00 0.00 0.00 0.00 0.00 0.00 SimpleConstructionScript 2 0.43 0.43 0.00 0.00 0.00 0.00 0.00 0.00 DistributionFloatConstant 6 0.42 0.42 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionConstant4Vector 1 0.27 0.41 0.00 0.00 0.00 0.00 0.00 0.00 SequencerSettings 2 0.41 0.41 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionViewProperty 1 0.27 0.40 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionObjectPositionWS 1 0.25 0.39 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionLightmapUVs 1 0.23 0.39 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionObjectRadius 1 0.23 0.39 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionPixelDepth 1 0.23 0.39 0.00 0.00 0.00 0.00 0.00 0.00 MaterialExpressionVertexNormalWS 1 0.25 0.39 0.00 0.00 0.00 0.00 0.00 0.00 CrowdManager 1 0.36 0.36 0.00 0.00 0.00 0.00 0.00 0.00 DistributionVectorConstantCurve 2 0.36 0.36 0.00 0.00 0.00 0.00 0.00 0.00 EdGraphSchema_K2 1 0.34 0.34 0.00 0.00 0.00 0.00 0.00 0.00 AISystem 1 0.34 0.34 0.00 0.00 0.00 0.00 0.00 0.00 ParticleModuleColorOverLife 1 0.33 0.33 0.00 0.00 0.00 0.00 0.00 0.00 AnimCompress_BitwiseCompressOnly 3 0.33 0.33 0.00 0.00 0.00 0.00 0.00 0.00 ParticleModuleRequired 1 0.32 0.32 0.00 0.00 0.00 0.00 0.00 0.00 GameplayDebuggerLocalController 1 0.31 0.31 0.00 0.00 0.00 0.00 0.00 0.00 AIPerceptionSystem 1 0.31 0.31 0.00 0.00 0.00 0.00 0.00 0.00 DistributionFloatConstantCurve 2 0.31 0.31 0.00 0.00 0.00 0.00 0.00 0.00 OnlineEngineInterfaceImpl 1 0.30 0.30 0.00 0.00 0.00 0.00 0.00 0.00 SignificanceManager 1 0.30 0.30 0.00 0.00 0.00 0.00 0.00 0.00 GameUserSettings 1 0.29 0.29 0.00 0.00 0.00 0.00 0.00 0.00 ObjectProperty 2 0.28 0.28 0.00 0.00 0.00 0.00 0.00 0.00 LandscapeInfoMap 2 0.27 0.27 0.00 0.00 0.00 0.00 0.00 0.00 IntProperty 2 0.27 0.27 0.00 0.00 0.00 0.00 0.00 0.00 SkeletalMeshEditorData 1 0.26 0.26 0.00 0.00 0.00 0.00 0.00 0.00 ParticleModuleSpawn 1 0.26 0.26 0.00 0.00 0.00 0.00 0.00 0.00 AvoidanceManager 1 0.25 0.25 0.00 0.00 0.00 0.00 0.00 0.00 ParticleModuleLocationPrimitiveSphere 1 0.24 0.24 0.00 0.00 0.00 0.00 0.00 0.00 NUTGlobals 1 0.21 0.24 0.00 0.00 0.00 0.00 0.00 0.00 ParticleModuleSizeMultiplyLife 1 0.23 0.23 0.00 0.00 0.00 0.00 0.00 0.00 SubmixEffectReverbFastPreset 1 0.22 0.22 0.00 0.00 0.00 0.00 0.00 0.00 WidgetTree 3 0.21 0.21 0.00 0.00 0.00 0.00 0.00 0.00 DistributionFloatUniform 3 0.21 0.21 0.00 0.00 0.00 0.00 0.00 0.00 ParticleModuleVelocity 1 0.21 0.21 0.00 0.00 0.00 0.00 0.00 0.00 DistributionVectorUniform 2 0.20 0.20 0.00 0.00 0.00 0.00 0.00 0.00 ComponentDelegateBinding 1 0.13 0.20 0.00 0.00 0.00 0.00 0.00 0.00 SoundClass 1 0.20 0.20 0.00 0.00 0.00 0.00 0.00 0.00 ShaderPlatformQualitySettings 2 0.19 0.19 0.00 0.00 0.00 0.00 0.00 0.00 TextureThumbnailRenderer 4 0.19 0.19 0.00 0.00 0.00 0.00 0.00 0.00 CameraModifier_CameraShake 1 0.18 0.18 0.00 0.00 0.00 0.00 0.00 0.00 BookMark 2 0.17 0.17 0.00 0.00 0.00 0.00 0.00 0.00 PaperTerrainMaterial 1 0.16 0.16 0.00 0.00 0.00 0.00 0.00 0.00 AnimBoneCompressionSettings 1 0.16 0.16 0.00 0.00 0.00 0.00 0.00 0.00 MaterialInstanceThumbnailRenderer 2 0.16 0.16 0.00 0.00 0.00 0.00 0.00 0.00 LandscapeSubsystem 1 0.16 0.16 0.00 0.00 0.00 0.00 0.00 0.00 ParticleModuleSize 1 0.15 0.15 0.00 0.00 0.00 0.00 0.00 0.00 MaterialShaderQualitySettings 1 0.15 0.15 0.00 0.00 0.00 0.00 0.00 0.00 SubmixEffectSubmixEQPreset 1 0.14 0.14 0.00 0.00 0.00 0.00 0.00 0.00 PhysicalMaterial 1 0.13 0.13 0.00 0.00 0.00 0.00 0.00 0.00 AnimBlueprintThumbnailRenderer 1 0.13 0.13 0.00 0.00 0.00 0.00 0.00 0.00 BlueprintThumbnailRenderer 1 0.13 0.13 0.00 0.00 0.00 0.00 0.00 0.00 ClassThumbnailRenderer 1 0.13 0.13 0.00 0.00 0.00 0.00 0.00 0.00 LandscapeLayerInfoObject 1 0.13 0.13 0.00 0.00 0.00 0.00 0.00 0.00 NiagaraComponentPool 1 0.13 0.13 0.00 0.00 0.00 0.00 0.00 0.00 ParticleModuleSubUV 1 0.13 0.13 0.00 0.00 0.00 0.00 0.00 0.00 CheatManager 1 0.13 0.13 0.00 0.00 0.00 0.00 0.00 0.00 GCObjectReferencer 1 0.12 0.12 0.00 0.00 0.00 0.00 0.00 0.00 ParticleModuleRotation 1 0.11 0.11 0.00 0.00 0.00 0.00 0.00 0.00 ParticleModuleLifetime 1 0.11 0.11 0.00 0.00 0.00 0.00 0.00 0.00 NavigationSystemConfig 1 0.10 0.10 0.00 0.00 0.00 0.00 0.00 0.00 NavLocalGridManager 1 0.09 0.09 0.00 0.00 0.00 0.00 0.00 0.00 BehaviorTreeManager 1 0.09 0.09 0.00 0.00 0.00 0.00 0.00 0.00 DistributionVectorConstant 1 0.09 0.09 0.00 0.00 0.00 0.00 0.00 0.00 AndroidPermissionCallbackProxy 1 0.08 0.08 0.00 0.00 0.00 0.00 0.00 0.00 AnimCurveCompressionCodec_CompressedRichCurve 1 0.08 0.08 0.00 0.00 0.00 0.00 0.00 0.00 Layer 1 0.08 0.08 0.00 0.00 0.00 0.00 0.00 0.00 ParticleModuleAccelerationConstant 1 0.08 0.08 0.00 0.00 0.00 0.00 0.00 0.00 AutoDestroySubsystem 1 0.08 0.08 0.00 0.00 0.00 0.00 0.00 0.00 ParticleSystemThumbnailRenderer 1 0.07 0.07 0.00 0.00 0.00 0.00 0.00 0.00 WorldThumbnailInfo 1 0.07 0.07 0.00 0.00 0.00 0.00 0.00 0.00 PhysicsCollisionHandler 1 0.07 0.07 0.00 0.00 0.00 0.00 0.00 0.00 WorldThumbnailRenderer 1 0.07 0.07 0.00 0.00 0.00 0.00 0.00 0.00 VolumeTextureThumbnailRenderer 1 0.07 0.07 0.00 0.00 0.00 0.00 0.00 0.00 SystemTimeTimecodeProvider 1 0.07 0.07 0.00 0.00 0.00 0.00 0.00 0.00 PhysicsAssetThumbnailRenderer 1 0.06 0.06 0.00 0.00 0.00 0.00 0.00 0.00 BlendSpaceThumbnailRenderer 1 0.06 0.06 0.00 0.00 0.00 0.00 0.00 0.00 MaterialFunctionThumbnailRenderer 1 0.06 0.06 0.00 0.00 0.00 0.00 0.00 0.00 AnimSequenceThumbnailRenderer 1 0.06 0.06 0.00 0.00 0.00 0.00 0.00 0.00 MediaPlaylist 1 0.06 0.06 0.00 0.00 0.00 0.00 0.00 0.00 ObjectTraceWorldSubsystem 1 0.06 0.06 0.00 0.00 0.00 0.00 0.00 0.00 SkeletalMeshThumbnailRenderer 1 0.06 0.06 0.00 0.00 0.00 0.00 0.00 0.00 GeometryCacheThumbnailRenderer 1 0.06 0.06 0.00 0.00 0.00 0.00 0.00 0.00 StaticMeshThumbnailRenderer 1 0.06 0.06 0.00 0.00 0.00 0.00 0.00 0.00 LevelThumbnailRenderer 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00 SlateBrushThumbnailRenderer 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00 AssetTagsSubsystem 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00 AnimCurveCompressionSettings 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00 CurveLinearColorThumbnailRenderer 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00 SoundWaveThumbnailRenderer 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00 SubsurfaceProfileRenderer 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00 OnlineSession 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00 SequencerSettingsContainer 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00 PhysicalMaterialMaskThumbnailRenderer 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00 FontThumbnailRenderer 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00 TextureCubeThumbnailRenderer 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00 Texture2DArrayThumbnailRenderer 1 0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00 17513 Objects (Total: 30.062M / Max: 34.802M / Res: 84.534M | ResDedSys: 9.386M / ResShrSys: 0.000M / ResDedVid: 72.466M / ResShrVid: 0.000M / ResUnknown: 2.682M)
obj list class=image // 查看所有UImage类型的对象(不包括CDO对象)
Obj List: class=image Objects: Object NumKB MaxKB ResExcKB ResExcDedSysKB ResExcShrSysKB ResExcDedVidKB ResExcShrVidKB ResExcUnkKB Image /Engine/Transient.GameEngine_0:GameInstance_0.NewWidgetBlueprint_C_0.WidgetTree_0.Image_180 0.88 0.88 0.00 0.00 0.00 0.00 0.00 0.00 Image /Game/ThirdPerson/UMG/NewWidgetBlueprint.NewWidgetBlueprint:WidgetTree.Image_180 0.88 0.88 0.00 0.00 0.00 0.00 0.00 0.00 Image /Game/ThirdPerson/UMG/NewWidgetBlueprint.NewWidgetBlueprint_C:WidgetTree.Image_180 0.88 0.88 0.00 0.00 0.00 0.00 0.00 0.00 Class Count NumKB MaxKB ResExcKB ResExcDedSysKB ResExcShrSysKB ResExcDedVidKB ResExcShrVidKB ResExcUnkKB Image 3 2.65 2.65 0.00 0.00 0.00 0.00 0.00 0.00 3 Objects (Total: 0.003M / Max: 0.003M / Res: 0.000M | ResDedSys: 0.000M / ResShrSys: 0.000M / ResDedVid: 0.000M / ResShrVid: 0.000M / ResUnknown: 0.000M)
obj list forget // 标记当前内存中所有UObjcet,后续执行obj list命令会忽略掉这些对象
obj list remember // 取消对当前内存中所有UObjcet的标记
obj list class=StaticMeshActor // 查看所有AStaticMeshActor类型的对象(不包括CDO对象)
obj list class=SkeletalMeshActor // 查看所有ASkeletalMeshActor类型的对象(不包括CDO对象)
obj list class=UserWidget // 查看所有UUserWidget类型的对象(不包括CDO对象)
obj list class=Blueprint // 查看所有Blueprint蓝图类型(具体包括UMG蓝图、Anim蓝图、Level蓝图)的对象(不包括CDO对象)
obj list class=AkAudioBank // 查看所有AkAudioBank类型的对象(不包括CDO对象)
obj list class=DataTable // 查看所有DataTable类型的对象(不包括CDO对象)
obj list class=Package // 查看所有Package类型的对象(不包括CDO对象)
obj list class=WidgetAnimation // 查看UMG中动画对象(不包括CDO对象)
obj list class=LevelSequence // 查看关卡中的Sequence对象(不包括CDO对象)
obj list class=LevelSequenceActor // 查看关卡中SequenceActor对象(不包括CDO对象)
obj list class=MovieSceneSection // 查看Sequence(UMG和关卡)中Track里面的MovieSceneSection对象(不包括CDO对象)
obj list class=Font // 查看所有字体Font类型的对象(不包括CDO对象)
obj list class=Level -alphasort // 按字母排序来查看所有ULevel类型的对象(不包括CDO对象)
obj list class="MapBuildDataRegistry" -alphasort // 按字母排序来查看所有UMapBuildDataRegistry类型的对象(不包括CDO对象)
obj list class="SoundWave" -alphasort // 按字母排序来查看所有USoundWave类型的对象(不包括CDO对象)
obj list class="StaticMeshComponent" -alphasort // 按字母排序来查看所有UStaticMeshComponent类型的对象(不包括CDO对象)
obj list class=SkeletalMesh -includedefaults // 查看所有USkeletalMesh类型的对象(包括CDO对象)
obj list class=StaticMesh -nodetailedinfo // 不显示各个对象的详细信息,仅显示UStaticMesh类型的对象统计表
obj list class=actor -countsort -csv // 按数量升序来查看所有AActor类型的对象统计表,且统计表使用逗号分隔符来输出(不包括CDO对象)
obj list class=TextureRenderTarget2D -alphasort // 按字母排序来查看所有UTextureRenderTarget2D类型的对象(不包括CDO对象) 注:UTextureRenderTarget2D是从UTexture2D上派生
obj list class=TextureCube -alphasort // 按字母排序来查看所有UTextureCube类型的对象(不包括CDO对象) 注:UTextureCube是从UTexture2D上派生
obj list class=VolumeTexture -alphasort // 按字母排序来查看所有UVolumeTexture类型的对象(不包括CDO对象) 注:UVolumeTexture是从UTexture2D上派生
obj list class=texture2d -gconly // 查看所有被gc管理的UTexture2D类型的对象(不包括CDO对象) 注:会剔除一直常驻内存的UTexture2D类型的对象
obj list class=texture2d -gcnoclusters // 查看所有被gc管理的UTexture2D类型的对象(不包括CDO对象) 注:会剔除一直常驻内存和被gc族管理的UTexture2D类型的对象
obj list class=texture2d -rootonly // 查看所有被直接加到root根集的UTexture2D类型的对象(不包括CDO对象)
obj list class=texture2d name=ShadowMapTexture2D_0 // 查看名为ShadowMapTexture2D_0类型为UTexture2D的对象(不包括CDO对象)
obj list class=texture2d outer=ThirdPersonExampleMap_BuiltData // 查看outerThirdPersonExampleMap_BuiltData的所有UTexture2D类型的对象(不包括CDO对象)
obj list class=texture2d package=/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData // 查看/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData包中的所有UTexture2D类型的对象
obj list class=texture2d package=/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData inside=ShadowMapTexture2D_0 // 查看/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData包中名为ShadowMapTexture2D_0的UTexture2D类型的对象
obj list2
obj list2 class=MyBlueprintObject_C // 查看所有MyBlueprintObject_C类型的对象(不包括CDO对象)
Object InclBytes ExclBytes InclResKBytes ExclResKBytes MyBlueprintObject_C MyBlueprintObject_C_0 86 86 0 0
Obj memsub
Obj memsub // 打印大于16KB的所有类型的内存占用信息
Obj MemSub for class 'Object' Class IncMax IncNum ResExc ResExcDedSys ResExcShrSys ResExcDedVid ResExcShrVid ResExcUnk Count Class 2094K 1718K 0K 0K 0K 0K 0K 0K 3264 Material 701K 471K 64M 64M 0K 0K 0K 0K 79 MaterialFunction 280K 197K 0K 0K 0K 0K 0K 0K 28 World 206K 189K 0K 0K 0K 0K 0K 0K 1 Level 199K 183K 0K 0K 0K 0K 0K 0K 1 EdGraph 157K 156K 0K 0K 0K 0K 0K 0K 50 Blueprint 125K 125K 0K 0K 0K 0K 0K 0K 5 AnimGraphNode_StateMachine 64K 51K 0K 0K 0K 0K 0K 0K 2 AnimationStateMachineGraph 63K 50K 0K 0K 0K 0K 0K 0K 2 AnimBlueprint 50K 35K 0K 0K 0K 0K 0K 0K 1 StaticMesh 47K 47K 8520K 108K 0K 0K 0K 8412K 34 AnimationGraph 41K 27K 0K 0K 0K 0K 0K 0K 2 StaticMeshActor 38K 38K 0K 0K 0K 0K 0K 0K 17 AnimStateNode 33K 20K 0K 0K 0K 0K 0K 0K 8 AnimationStateGraph 31K 18K 0K 0K 0K 0K 0K 0K 12 ThirdPersonCharacter_C 26K 23K 0K 0K 0K 0K 0K 0K 1 LevelScriptBlueprint 19K 18K 0K 0K 0K 0K 0K 0K 1 BlueprintGeneratedClass 16K 7K 0K 0K 0K 0K 0K 0K 13 (Culled) 168K 145K 72M 181K 0K 71M 0K 1089K 13942 Total 4366K 3525K 145M 64M 0K 71M 0K 9501K 17463 **********************************************
Obj memsub class=MyBlueprintObject_C cull=0 // 打印大于0KB的MyBlueprintObject_C类型的内存占用信息
Obj mem
Obj mem // 打印大于50KB的所有类型及其实例对象的内存占用信息
********************************************** By Outer Hierarchy 1K 0Kx 3 Class /Script/CoreUObject.Object 0K 1 Function /Script/CoreUObject.Object:ExecuteUbergraph ********************************************** By Class Hierarchy 120M 0Kx 3 Class /Script/CoreUObject.Object Child Classes 75M 8Kx 3 Class /Script/Engine.StreamableRenderAsset Child Classes 71M 42Kx 3 Class /Script/Engine.Texture Child Classes 55M 8Kx 161 Class /Script/Engine.Texture2D Child Classes 2736K 1Kx 7 Class /Script/Engine.ShadowMapTexture2D Instances 2731K 1 ShadowMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:ShadowMapTexture2D_0 3K 1 ShadowMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:ShadowMapTexture2D_1 0K 1 ShadowMapTexture2D /Script/Engine.Default__ShadowMapTexture2D ... ... ... ... ... ... ... Instances 0K 1 Object /Script/CoreUObject.Default__Object ********************************************** Flat 120M 0Kx 21218 Root 32M 1 Texture2D /Engine/EngineMaterials/DefaultBloomKernel.DefaultBloomKernel 16M 1 TextureCube /Engine/MapTemplates/Sky/DaylightAmbientCubemap.DaylightAmbientCubemap 7695K 1 FontFace /Engine/EngineFonts/Faces/DroidSansFallback.DroidSansFallback 5462K 1 Texture2D /Engine/EditorResources/T_EditorHelp.T_EditorHelp 3627K 1 MetaData /Script/Engine.PackageMetaData 3584K 1 Texture2D /Engine/EngineMaterials/BlueNoise.BlueNoise 2731K 1 Texture2D /Engine/EngineSky/T_Sky_Blue.T_Sky_Blue 2731K 1 ShadowMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:ShadowMapTexture2D_0 1780K 1 SkeletalMesh /Game/Mannequin/Character/Mesh/SK_Mannequin.SK_Mannequin 1366K 1 LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:HQ_Lightmap0_1 1366K 1 Texture2D /Game/Mannequin/Character/Textures/T_UE4_Mannequin_Mobile_N.T_UE4_Mannequin_Mobile_N 683K 1 Texture2D /Engine/EngineSky/T_Sky_Clouds_M.T_Sky_Clouds_M 683K 1 LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:SkyOcclusion0_1 683K 1 Texture2D /Game/Mannequin/Character/Textures/T_UE4_Mannequin_Mobile_M.T_UE4_Mannequin_Mobile_M 512K 1 Material /Engine/EngineDebugMaterials/MAT_LevelColorationLitLightmapUV.MAT_LevelColorationLitLightmapUV 512K 1 Material /Engine/EngineDebugMaterials/ShadedLevelColorationLitMaterial.ShadedLevelColorationLitMaterial 512K 1 Material /Engine/EngineMaterials/WorldGridMaterial.WorldGridMaterial 512K 1 Material /Engine/EngineDebugMaterials/LevelColorationLitMaterial.LevelColorationLitMaterial 412K 1 StaticMesh /Engine/EditorMeshes/Camera/SM_CineCam.SM_CineCam 385K 1 MetaData /Script/UMG.PackageMetaData 359K 1 Material /Engine/EngineDebugMaterials/WireframeMaterial.WireframeMaterial 342K 1 Texture2D /Engine/EngineMaterials/T_Default_Material_Grid_M.T_Default_Material_Grid_M 342K 1 LightMapTexture2D /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap_BuiltData.ThirdPersonExampleMap_BuiltData:HQ_Lightmap0_2 333K 1 FontFace /Engine/EngineFonts/Faces/RobotoLight.RobotoLight 324K 1 FontFace /Engine/EngineFonts/Faces/RobotoBoldItalic.RobotoBoldItalic 319K 1 FontFace /Engine/EngineFonts/Faces/RobotoBold.RobotoBold 317K 1 Material /Engine/EngineDebugMaterials/ShadedLevelColorationUnlitMateri.ShadedLevelColorationUnlitMateri 317K 1 Material /Engine/EngineDebugMaterials/LevelColorationUnlitMaterial.LevelColorationUnlitMaterial 314K 1 FontFace /Engine/EngineFonts/Faces/RobotoItalic.RobotoItalic 310K 1 FontFace /Engine/EngineFonts/Faces/RobotoRegular.RobotoRegular 292K 1 ScriptStruct /Script/Engine.PostProcessSettings 292K 1 StaticMesh /Engine/EditorMeshes/MatineeCam_SM.MatineeCam_SM 268K 1 StaticMesh /Engine/EditorMeshes/EditorSkySphere.EditorSkySphere ... ... ... ... ... ... ...
注:75M为StreamableRenderAsset类型incl大小(包含size),8K为其excl大小(独占size)
Obj Mem class=MyBlueprintObject_C cull=0 // 打印大于0KB的MyBlueprintObject_C类型及其实例对象的内存占用信息
********************************************** By Outer Hierarchy 1K 1 BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C ********************************************** By Class Hierarchy 1K 1Kx 5 BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C Instances 0K 1 MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0 0K 1 MyBlueprintObject_C /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.Default__MyBlueprintObject_C ********************************************** Flat 120M 0Kx 21218 Root 0K 1 MyBlueprintObject_C /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.Default__MyBlueprintObject_C 0K 1 MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0 **********************************************
obj propanalysis
obj propanalysis class=Texture2D // 分析所有的Texture2D对象的属性字段与默认值不一样而带来的内存开销
obj components
obj components PlayerController_0 // 打印出PlayerController_0对象的组件的详细信息
OBJ DUMP
OBJ DUMP PlayerController_0 show=“playercontroller” // 打印出对象名为PlayerController_0的playercontroller下UPROPERTY成员变量的值 注:OBJ DUMP可以操作未加载到内存中的对象
*** Property dump for object 'PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0' *** === PlayerController properties === Player=LocalPlayer'/Engine/Transient.GameEngine_0:LocalPlayer_0' AcknowledgedPawn=ThirdPersonCharacter_C'/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2' ControllingDirTrackInst=None MyHUD=HUD'/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.HUD_0' PlayerCameraManager=PlayerCameraManager'/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerCameraManager_0' PlayerCameraManagerClass=None bAutoManageActiveCameraTarget=True TargetViewRotation=(Pitch=0.000000,Yaw=0.000000,Roll=0.000000) SmoothTargetViewRotationSpeed=20.000000 LastSpectatorStateSynchTime=0.000000 LastSpectatorSyncLocation=(X=0.000000,Y=0.000000,Z=0.000000) LastSpectatorSyncRotation=(Pitch=0.000000,Yaw=0.000000,Roll=0.000000) ClientCap=0 CheatManager=CheatManager'/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0.CheatManager_0' CheatClass=Class'/Script/Engine.CheatManager' PlayerInput=PlayerInput'/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0.PlayerInput_0' bPlayerIsWaiting=False NetPlayerIndex=0 PendingSwapConnection=None NetConnection=None InputYawScale=2.500000 InputPitchScale=-2.500000 InputRollScale=1.000000 bShowMouseCursor=True bEnableClickEvents=False bEnableTouchEvents=True bEnableMouseOverEvents=False bEnableTouchOverEvents=False bForceFeedbackEnabled=True ForceFeedbackScale=1.000000 ClickEventKeys(0)=LeftMouseButton DefaultMouseCursor=Default CurrentMouseCursor=Default DefaultClickTraceChannel=ECC_Visibility CurrentClickTraceChannel=ECC_Visibility HitResultTraceDistance=100000.000000 SeamlessTravelCount=0 LastCompletedSeamlessTravelCount=0 InactiveStateInputComponent=None bShouldPerformFullTickWhenPaused=False CurrentTouchInterface=None SpectatorPawn=None bIsLocalPlayerController=True SpawnLocation=(X=0.000000,Y=0.000000,Z=0.000000)
OBJ DUMP PlayerController_0 hide="actor, Controller" // 打印出对象名为PlayerController_0的非actor、controller下UPROPERTY成员变量的值
OBJ DUMP class=playercontroller name=PlayerController_0 // 打印出类型为playercontroller,对象名为PlayerController_0的UPROPERTY成员变量的值
OBJ DUMP class="playercontroller" name=Default__PlayerController // 打印出类型为playercontroller的CDO对象的UPROPERTY成员变量的值
OBJ DUMP class="ThirdPersonCharacter_C" name=Default__ThirdPersonCharacter_C // 打印出蓝图ThirdPersonCharacter_C的CDO对象的UPROPERTY成员变量的值
OBJ DUMP /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.Floor // 打印ThirdPersonExampleMap地图主关卡中对象名为Floor的UPROPERTY成员变量的值
OBJ DUMP PlayerController_0 recurse=true // 打印出对象名为PlayerController_0的UPROPERTY成员变量的值(UObject的成员变量会递归展开打印)
OBJ DUMP SM_Env_Tutorial_DirtRoad04_35.StaticMeshComponent0 // 打印出对象名为SM_Env_Tutorial_DirtRoad04_35的StaticMeshComponent0组件的UPROPERTY成员变量的值
cdodump
// 打印出所有的CDO对象 保存日志到Saved/CDO.txt中 详见:FCDODump类
。。。 。。。 Begin Object Class=/Script/Engine.Actor Name="Default__Actor" PrimaryActorTick=(TickGroup=TG_PrePhysics,EndTickGroup=TG_PrePhysics,bTickEvenWhenPaused=False,bCanEverTick=False,bStartWithTickEnabled=True,bAllowTickOnDedicatedServer=True,TickInterval=0.000000) bNetTemporary=False bNetStartup=False bOnlyRelevantToOwner=False bAlwaysRelevant=False bReplicateMovement=False bHidden=False bTearOff=False bNetLoadOnClient=True bNetUseOwnerRelevancy=False bRelevantForNetworkReplays=True bRelevantForLevelBounds=True bReplayRewindable=False bAllowTickBeforeBeginPlay=False bAutoDestroyWhenFinished=False bCanBeDamaged=True bBlockInput=False bCollideWhenPlacing=False bFindCameraComponentWhenViewTarget=True bGenerateOverlapEventsDuringLevelStreaming=False bIgnoresOriginShifting=False bEnableAutoLODGeneration=True bIsEditorOnlyActor=False bActorSeamlessTraveled=False bReplicates=False bCanBeInCluster=False bAllowReceiveTickEventOnDedicatedServer=True bActorEnableCollision=True UpdateOverlapsMethodDuringLevelStreaming=UseConfigDefault DefaultUpdateOverlapsMethodDuringLevelStreaming=OnlyUpdateMovable ReplicatedMovement=(LocationQuantizationLevel=RoundWholeNumber,VelocityQuantizationLevel=RoundWholeNumber,RotationQuantizationLevel=ByteComponents) InitialLifeSpan=0.000000 CustomTimeDilation=1.000000 Owner=None NetDriverName="GameNetDriver" Role=ROLE_Authority NetDormancy=DORM_Awake SpawnCollisionHandlingMethod=AlwaysSpawn AutoReceiveInput=Disabled InputPriority=0 NetCullDistanceSquared=225000000.000000 NetUpdateFrequency=100.000000 MinNetUpdateFrequency=2.000000 NetPriority=1.000000 Instigator=None RootComponent=None PivotOffset=(X=0.000000,Y=0.000000,Z=0.000000) ParentComponent=None SpriteScale=1.000000 ActorLabel="" FolderPath="" bHiddenEd=False bLockLocation=False bActorLabelEditable=True bEditable=True bListedInSceneOutliner=True bOptimizeBPComponentData=False OnTakeAnyDamage=() OnTakePointDamage=() OnTakeRadialDamage=() OnActorBeginOverlap=() OnActorEndOverlap=() OnBeginCursorOver=() OnEndCursorOver=() OnClicked=() OnReleased=() OnInputTouchBegin=() OnInputTouchEnd=() OnInputTouchEnter=() OnInputTouchLeave=() OnActorHit=() OnDestroyed=() OnEndPlay=() End Object 。。。 。。。 Begin Object Class=/Script/Engine.ActorComponent Name="Default__ActorComponent" PrimaryComponentTick=(TickGroup=TG_DuringPhysics,EndTickGroup=TG_PrePhysics,bTickEvenWhenPaused=False,bCanEverTick=False,bStartWithTickEnabled=True,bAllowTickOnDedicatedServer=True,TickInterval=0.000000) UCSSerializationIndex=-1 bNetAddressable=False bReplicates=False bAutoActivate=False bEditableWhenInherited=True bCanEverAffectNavigation=False bIsEditorOnly=False bIsVisualizationComponent=False bNeedsUCSSerializationIndexEvaluted=False CreationMethod=Native OnComponentActivated=() OnComponentDeactivated=() End Object 。。。 。。。
注:执行该命令会导致引擎崩溃,需要进行如下fix
obj hash
obj hash // 打印出hash表的效率,最大碰撞中包含的对象以及hash表的内存占用
obj hash -showbucketcollisions
obj hashouter
obj hashouter // 打印出hashouter表的效率,最大碰撞中包含的对象以及hashouter表的内存占用
obj hashouter -showbucketcollisions
obj overhead
obj overhead // 打印hash表的内存占用
obj overhead -detailed
ShrinkUObjectHashTables
// 收缩UObject hash表
gc.DumpPoolStats
// 输出GC相关pool的信息
GCPoolStats: 39 Pools totaling 564 KB. Avg: Objs=1852, Size=14 KB. 20766 (2 Items @ 162 KB = 324 KB) 1019 (1 Items @ 7 KB = 7 KB) 989 (30 Items @ 7 KB = 210 KB) 4 (1 Items @ 0 KB = 0 KB) 0 (5 Items @ 0 KB = 0 KB)
gc.ListClusters
gc.ListClusters // 列出簇的信息
UObjectClusters.cpp:306(DumpClusterToLog)|Material /Game/ArtResource/MaterialLibrary/tkMaterialLibrary/MasterMaterials/Effect/UI/MUI_Animation_BG.MUI_Animation_BG (Index: 27014), Size: 7, ReferencedClusters: 0 UObjectClusters.cpp:306(DumpClusterToLog)|ScriptStruct /Script/UnLua.PropertyCollector (Index: 10848), Size: 0, ReferencedClusters: 0 UObjectClusters.cpp:306(DumpClusterToLog)|Material /Game/ArtResource/MaterialLibrary/tkMaterialLibrary/MasterMaterials/Effect/UI/MUI_Animation.MUI_Animation (Index: 27013), Size: 5, ReferencedClusters: 1 UObjectClusters.cpp:306(DumpClusterToLog)|Material /Game/ArtResource/Assets/Effects/SourceMaterial/Fx_Material/CMUI_Texture.CMUI_Texture (Index: 26999), Size: 7, ReferencedClusters: 2 UObjectClusters.cpp:448(ListClusters)|Displayed 4 clusters UObjectClusters.cpp:449(ListClusters)|Total number of clusters: 4 UObjectClusters.cpp:450(ListClusters)|Maximum cluster size: 7 UObjectClusters.cpp:451(ListClusters)|Average cluster size: 4 UObjectClusters.cpp:452(ListClusters)|Number of objects in GC clusters: 19 UObjectClusters.cpp:453(ListClusters)|Maximum number of custer-to-cluster references: 2 UObjectClusters.cpp:454(ListClusters)|Average number of custer-to-cluster references: 0
gc.ListClusters Hierarchy with=CMUI_Texture
obj flags
obj flags MyBlueprintObject_C // 打印MyBlueprintObject_C的Flags信息
BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C: Transactional Public
obj flags ThirdPersonCharacter_2 // 打印ThirdPersonCharacter_2对象的Flags信息
ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2: Transactional SpringArmComponent /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.CameraBoom: Transactional CameraComponent /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.FollowCamera: Transactional MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_2: SkeletalMeshComponent /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.CharacterMesh0: Transactional CharacterMovementComponent /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.CharMoveComp: Transactional CapsuleComponent /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.CollisionCylinder: Transactional Class /Script/AIModule.AIController: Public Transient Standalone PlayerState /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerState_0: Transactional Transient PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0: Transactional Transient PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0: Transactional Transient InputComponent /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.PawnInputComponent0: Transient ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2: Transactional CapsuleComponent /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.CollisionCylinder: Transactional
obj rep
obj rep class=ThirdPersonCharacter_C // 打印ThirdPersonCharacter_C类型的同步属性(Replicated properties)
[2020.12.07-16.12.31:204][954]=== Replicated properties for class: ThirdPersonCharacter_C=== [2020.12.07-16.12.31:204][954] ReplicatedBasedMovement <OnRep_ReplicatedBasedMovement> [2020.12.07-16.12.31:204][954] AnimRootMotionTranslationScale [2020.12.07-16.12.31:204][954] ReplicatedServerLastTransformUpdateTimeStamp [2020.12.07-16.12.31:204][954] ReplayLastTransformUpdateTimeStamp <OnRep_ReplayLastTransformUpdateTimeStamp> [2020.12.07-16.12.31:204][954] ReplicatedMovementMode [2020.12.07-16.12.31:205][954] bIsCrouched <OnRep_IsCrouched> [2020.12.07-16.12.31:205][954] bProxyIsJumpForceApplied [2020.12.07-16.12.31:205][954] JumpMaxHoldTime [2020.12.07-16.12.31:205][954] JumpMaxCount [2020.12.07-16.12.31:205][954] RepRootMotion <OnRep_RootMotion> [2020.12.07-16.12.31:205][954] RemoteViewPitch [2020.12.07-16.12.31:205][954] PlayerState <OnRep_PlayerState> [2020.12.07-16.12.31:205][954] Controller <OnRep_Controller> [2020.12.07-16.12.31:205][954] bReplicateMovement <OnRep_ReplicateMovement> [2020.12.07-16.12.31:205][954] bHidden [2020.12.07-16.12.31:205][954] bTearOff [2020.12.07-16.12.31:206][954] bCanBeDamaged [2020.12.07-16.12.31:206][954] RemoteRole [2020.12.07-16.12.31:206][954] ReplicatedMovement <OnRep_ReplicatedMovement> [2020.12.07-16.12.31:206][954] AttachmentReplication <OnRep_AttachmentReplication> [2020.12.07-16.12.31:206][954] Owner <OnRep_Owner> [2020.12.07-16.12.31:206][954] Role [2020.12.07-16.12.31:206][954] Instigator <OnRep_Instigator>
obj cycles
// 查看引用链是否形成环
... ... [2020.12.03-13.18.02:314][942]MaterialExpressionVectorParameter /Engine/EngineDebugMaterials/LevelColorationUnlitMaterial.LevelColorationUnlitMaterial:MaterialExpressionVectorParameter0 [2020.12.03-13.18.02:314][942]Material /Engine/EngineDebugMaterials/LevelColorationUnlitMaterial.LevelColorationUnlitMaterial [2020.12.03-13.18.02:314][942] simple cycle ------------------ [2020.12.03-13.18.02:314][942] Material /Engine/EngineDebugMaterials/LevelColorationUnlitMaterial.LevelColorationUnlitMaterial -> MaterialExpressionVectorParameter /Engine/EngineDebugMaterials/LevelColorationUnlitMaterial.LevelColorationUnlitMaterial:MaterialExpressionVectorParameter0 [2020.12.03-13.18.02:315][942] [StructProperty /Script/Engine.Material:EmissiveColor] [2020.12.03-13.18.02:315][942] class Material offset 672, offset from UObject 1072 [2020.12.03-13.18.02:315][942] [ObjectProperty Expressions./Script/Engine.Material:Expressions] [2020.12.03-13.18.02:315][942] MaterialExpressionVectorParameter /Engine/EngineDebugMaterials/LevelColorationUnlitMaterial.LevelColorationUnlitMaterial:MaterialExpressionVectorParameter0 -> Material /Engine/EngineDebugMaterials/LevelColorationUnlitMaterial.LevelColorationUnlitMaterial [2020.12.03-13.18.02:315][942] [ObjectProperty /Script/Engine.MaterialExpression:Material] [2020.12.03-13.18.02:315][942] class MaterialExpression offset 48, offset from UObject 96 [2020.12.03-13.18.02:315][942]------------------------------------------------------------------------ [2020.12.03-13.18.02:315][942]MaterialExpressionVectorParameter /Engine/EngineDebugMaterials/DebugMeshMaterial.DebugMeshMaterial:MaterialExpressionVectorParameter0 [2020.12.03-13.18.02:315][942]Material /Engine/EngineDebugMaterials/DebugMeshMaterial.DebugMeshMaterial [2020.12.03-13.18.02:315][942] simple cycle ------------------ [2020.12.03-13.18.02:315][942] Material /Engine/EngineDebugMaterials/DebugMeshMaterial.DebugMeshMaterial -> MaterialExpressionVectorParameter /Engine/EngineDebugMaterials/DebugMeshMaterial.DebugMeshMaterial:MaterialExpressionVectorParameter0 [2020.12.03-13.18.02:316][942] [StructProperty /Script/Engine.Material:EmissiveColor] [2020.12.03-13.18.02:316][942] class Material offset 672, offset from UObject 1072 [2020.12.03-13.18.02:316][942] [StructProperty /Script/Engine.Material:Opacity] [2020.12.03-13.18.02:316][942] class Material offset 736, offset from UObject 1136 [2020.12.03-13.18.02:316][942] [ObjectProperty Expressions./Script/Engine.Material:Expressions] [2020.12.03-13.18.02:316][942] MaterialExpressionVectorParameter /Engine/EngineDebugMaterials/DebugMeshMaterial.DebugMeshMaterial:MaterialExpressionVectorParameter0 -> Material /Engine/EngineDebugMaterials/DebugMeshMaterial.DebugMeshMaterial [2020.12.03-13.18.02:316][942] [ObjectProperty /Script/Engine.MaterialExpression:Material] [2020.12.03-13.18.02:316][942] class MaterialExpression offset 48, offset from UObject 96 [2020.12.03-13.18.02:316][942]------------------------------------------------------------------------ [2020.12.03-13.18.02:316][942]21207 total objects, 40482 total edges. [2020.12.03-13.18.02:316][942]Non-permanent: 21207 objects, 40482 edges, 324 strongly connected components, 3359 objects are included in cycles.
obj refs
obj refs name=/Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject // 查看蓝图资源为/Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject的引用关系链
obj refs name=MyBlueprintObject
LogReferenceChain: (root) (standalone) World /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap->PersistentLevel LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_MyBPObjectClass LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C::AddReferencedObjects(): MyBlueprintObject_C LogReferenceChain: (standalone) Blueprint /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject LogReferenceChain: LogReferenceChain: (root) CrowdManager /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:NavigationSystemV1_0.CrowdManager_0->Outer LogReferenceChain: NavigationSystemV1 /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:NavigationSystemV1_0->AbstractNavData LogReferenceChain: AbstractNavData /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.AbstractNavData-Default->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_MyBPObjectClass LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C::AddReferencedObjects(): MyBlueprintObject_C LogReferenceChain: (standalone) Blueprint /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject LogReferenceChain: LogReferenceChain: (root) GameEngine /Engine/Transient.GameEngine_0::AddReferencedObjects(): GameEngine_0 LogReferenceChain: GameInstance /Engine/Transient.GameEngine_0:GameInstance_0->LocalPlayers LogReferenceChain: LocalPlayer /Engine/Transient.GameEngine_0:LocalPlayer_0->PlayerController LogReferenceChain: PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_MyBPObjectClass LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C::AddReferencedObjects(): MyBlueprintObject_C LogReferenceChain: (standalone) Blueprint /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject LogReferenceChain: LogReferenceChain: (root) GCObjectReferencer /Engine/Transient.GCObjectReferencer_0::AddReferencedObjects(): SObjectWidget( NewWidgetBlueprint_C_0 ) LogReferenceChain: NewWidgetBlueprint_C /Engine/Transient.GameEngine_0:GameInstance_0.NewWidgetBlueprint_C_0->Outer LogReferenceChain: GameInstance /Engine/Transient.GameEngine_0:GameInstance_0->LocalPlayers LogReferenceChain: LocalPlayer /Engine/Transient.GameEngine_0:LocalPlayer_0->PlayerController LogReferenceChain: PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_MyBPObjectClass LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C::AddReferencedObjects(): MyBlueprintObject_C LogReferenceChain: (standalone) Blueprint /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject
obj refs name=/Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C // 查看蓝图Class为/Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C的引用关系链
obj refs name=MyBlueprintObject_C
LogReferenceChain: (root) (standalone) World /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap->PersistentLevel LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_MyBPObjectClass LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C LogReferenceChain: LogReferenceChain: (root) (standalone) World /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap->PersistentLevel LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_BPObj1 LogReferenceChain: MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0->Class LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C LogReferenceChain: LogReferenceChain: (root) CrowdManager /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:NavigationSystemV1_0.CrowdManager_0->Outer LogReferenceChain: NavigationSystemV1 /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:NavigationSystemV1_0->AbstractNavData LogReferenceChain: AbstractNavData /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.AbstractNavData-Default->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_MyBPObjectClass LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C LogReferenceChain: LogReferenceChain: (root) CrowdManager /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:NavigationSystemV1_0.CrowdManager_0->Outer LogReferenceChain: NavigationSystemV1 /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:NavigationSystemV1_0->AbstractNavData LogReferenceChain: AbstractNavData /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.AbstractNavData-Default->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_BPObj1 LogReferenceChain: MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0->Class LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C LogReferenceChain: LogReferenceChain: (root) GameEngine /Engine/Transient.GameEngine_0::AddReferencedObjects(): GameEngine_0 LogReferenceChain: GameInstance /Engine/Transient.GameEngine_0:GameInstance_0->LocalPlayers LogReferenceChain: LocalPlayer /Engine/Transient.GameEngine_0:LocalPlayer_0->PlayerController LogReferenceChain: PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_MyBPObjectClass LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C LogReferenceChain: LogReferenceChain: (root) GameEngine /Engine/Transient.GameEngine_0::AddReferencedObjects(): GameEngine_0 LogReferenceChain: GameInstance /Engine/Transient.GameEngine_0:GameInstance_0->LocalPlayers LogReferenceChain: LocalPlayer /Engine/Transient.GameEngine_0:LocalPlayer_0->PlayerController LogReferenceChain: PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_BPObj1 LogReferenceChain: MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0->Class LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C LogReferenceChain: LogReferenceChain: (root) GCObjectReferencer /Engine/Transient.GCObjectReferencer_0::AddReferencedObjects(): SObjectWidget( NewWidgetBlueprint_C_0 ) LogReferenceChain: NewWidgetBlueprint_C /Engine/Transient.GameEngine_0:GameInstance_0.NewWidgetBlueprint_C_0->Outer LogReferenceChain: GameInstance /Engine/Transient.GameEngine_0:GameInstance_0->LocalPlayers LogReferenceChain: LocalPlayer /Engine/Transient.GameEngine_0:LocalPlayer_0->PlayerController LogReferenceChain: PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_MyBPObjectClass LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C LogReferenceChain: LogReferenceChain: (root) GCObjectReferencer /Engine/Transient.GCObjectReferencer_0::AddReferencedObjects(): SObjectWidget( NewWidgetBlueprint_C_0 ) LogReferenceChain: NewWidgetBlueprint_C /Engine/Transient.GameEngine_0:GameInstance_0.NewWidgetBlueprint_C_0->Outer LogReferenceChain: GameInstance /Engine/Transient.GameEngine_0:GameInstance_0->LocalPlayers LogReferenceChain: LocalPlayer /Engine/Transient.GameEngine_0:LocalPlayer_0->PlayerController LogReferenceChain: PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_BPObj1 LogReferenceChain: MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0->Class LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C LogReferenceChain:
obj refs name=MyBlueprintObject_C_0 // 查看蓝图对象为MyBlueprintObject_C_0的引用关系链 注:对象名可通过obj list class=MyBlueprintObject_C命令来查询
LogReferenceChain: (root) (standalone) World /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap->PersistentLevel LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_BPObj1 LogReferenceChain: MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0 LogReferenceChain: LogReferenceChain: (root) CrowdManager /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:NavigationSystemV1_0.CrowdManager_0->Outer LogReferenceChain: NavigationSystemV1 /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:NavigationSystemV1_0->AbstractNavData LogReferenceChain: AbstractNavData /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.AbstractNavData-Default->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_BPObj1 LogReferenceChain: MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0 LogReferenceChain: LogReferenceChain: (root) GameEngine /Engine/Transient.GameEngine_0::AddReferencedObjects(): GameEngine_0 LogReferenceChain: GameInstance /Engine/Transient.GameEngine_0:GameInstance_0->LocalPlayers LogReferenceChain: LocalPlayer /Engine/Transient.GameEngine_0:LocalPlayer_0->PlayerController LogReferenceChain: PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_BPObj1 LogReferenceChain: MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0 LogReferenceChain: LogReferenceChain: (root) GCObjectReferencer /Engine/Transient.GCObjectReferencer_0::AddReferencedObjects(): SObjectWidget( NewWidgetBlueprint_C_0 ) LogReferenceChain: NewWidgetBlueprint_C /Engine/Transient.GameEngine_0:GameInstance_0.NewWidgetBlueprint_C_0->Outer LogReferenceChain: GameInstance /Engine/Transient.GameEngine_0:GameInstance_0->LocalPlayers LogReferenceChain: LocalPlayer /Engine/Transient.GameEngine_0:LocalPlayer_0->PlayerController LogReferenceChain: PlayerController /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.PlayerController_0->Outer LogReferenceChain: Level /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel::AddReferencedObjects(): PersistentLevel LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_BPObj1 LogReferenceChain: MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0 LogReferenceChain:
obj refs name=MyBlueprintObject_C_0 direct // 查看蓝图对象为MyBlueprintObject_C_0的直接对象的引用关系链 注:对象名可通过obj list class="MyBlueprintObject_C"命令来查询
LogReferenceChain: ThirdPersonCharacter_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2->m_BPObj1 LogReferenceChain: MyBlueprintObject_C /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0 LogReferenceChain:
其他token还包括:shortest、longest、all、external、direct、full
FReferenceChainSearch RefChainSearch(Object, EReferenceChainSearchMode::Shortest | EReferenceChainSearchMode::PrintResults); // 打印当前Object对象的shortest引用链
Internal Flag详细说明
/** Objects flags for internal use (GC, low level UObject code) */ enum class EInternalObjectFlags : int32 { None = 0, //~ All the other bits are reserved, DO NOT ADD NEW FLAGS HERE! ReachableInCluster = 1 << 23, ///< External reference to object in cluster exists ClusterRoot = 1 << 24, ///< Root of a cluster Native = 1 << 25, ///< Native (UClass only). Async = 1 << 26, ///< Object exists only on a different thread than the game thread. AsyncLoading = 1 << 27, ///< Object is being asynchronously loaded. Unreachable = 1 << 28, ///< Object is not reachable on the object graph. PendingKill = 1 << 29, ///< Objects that are pending destruction (invalid for gameplay but valid objects) RootSet = 1 << 30, ///< Object will not be garbage collected, even if unreferenced. //~ UnusedFlag = 1 << 31, GarbageCollectionKeepFlags = Native | Async | AsyncLoading, //~ Make sure this is up to date! AllFlags = ReachableInCluster | ClusterRoot | Native | Async | AsyncLoading | Unreachable | PendingKill | RootSet };
相关函数说明:
bool IsPendingKill() const // 是否含有EInternalObjectFlags::PendingKill标记
void MarkPendingKill() // 添加EInternalObjectFlags::PendingKill标记
void ClearPendingKill() // 清除EInternalObjectFlags::PendingKill标记
void AddToRoot() // 添加EInternalObjectFlags::RootSet标记
void RemoveFromRoot() // 清除EInternalObjectFlags::RootSet标记
bool IsRooted() const // 是否含有EInternalObjectFlags::RootSet标记
bool ThisThreadAtomicallyClearedRFUnreachable() // 清除EInternalObjectFlags::Unreachable标记
bool IsUnreachable() // 是否含有EInternalObjectFlags::Unreachable标记
bool IsPendingKillOrUnreachable() const // 是否含有EInternalObjectFlags::PendingKill或EInternalObjectFlags::Unreachable标记
bool IsNative() const // 是否含有EInternalObjectFlags::Native标记
void SetInternalFlags(EInternalObjectFlags FlagsToSet) const // 设置EInternalObjectFlags FlagsToSet标记
EInternalObjectFlags GetInternalFlags() const // 获取所有EInternalObjectFlags标记
bool HasAnyInternalFlags(EInternalObjectFlags FlagsToCheck) const // 是否含有EInternalObjectFlags FlagsToCheck标记
void ClearInternalFlags(EInternalObjectFlags FlagsToClear) const // 清理EInternalObjectFlags FlagsToClear标记
bool AtomicallyClearInternalFlags(EInternalObjectFlags FlagsToClear) const // 清理EInternalObjectFlags FlagsToClear标记
名称 | 标志位 | 说明 |
(root) | GUObjectArray.IndexToObject(InternalIndex).Flags含有EInternalObjectFlags::RootSet | 已被加到Root上 |
(native) | GUObjectArray.IndexToObject(InternalIndex).Flags含有EInternalObjectFlags::Native | c++ UClass |
(PendingKill) | GUObjectArray.IndexToObject(InternalIndex).Flags含有EInternalObjectFlags::PendingKill | 等待回收(UObject本身是有效的,但GamePlay认为它是无效的) |
(standalone) | RF_Standalone |
在Editor下,会有从非root出发的引用链维持资源使其不被GC,这时候一般都会被打上(standalone)的tag 目的是在Editor下编辑而不被释放 |
(async) | GUObjectArray.IndexToObject(InternalIndex).Flags含有EInternalObjectFlags::Async | 在非Gametheard中 |
(asyncloading) | GUObjectArray.IndexToObject(InternalIndex).Flags含有EInternalObjectFlags::AsyncLoading | 正在被异步加载 |
(NeverGCed) |
永远不被GC |
|
(ClusterRoot) | GUObjectArray.IndexToObject(InternalIndex).Flags含有EInternalObjectFlags::ClusterRoot | 一个簇的Root |
(Clustered) |
FUObjectItem* ReferencedByObjectItem = GUObjectArray.ObjectToObjectItem(InObject); |
被簇管理 |
其他一些log说明:
LogReferenceChain: MyObject /Engine/Transient.MyObject_0 is not currently reachable. // 蓝图对象MyObject_0不可达(程序不再持有MyObject_0对象的指针),已变成垃圾
LogReferenceChain: BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C is not currently reachable. // 名为蓝图UClass的MyObject_0不可达,已变成垃圾
LogReferenceChain: (root) MyObject /Engine/Transient.MyObject_0 is not currently reachable. // 蓝图对象MyObject_0已加到root上,但是不可达(程序不再持有MyObject_0对象的指针),内存已泄漏
obj singleref
obj singleref class=MyBlueprintObject_C // 查看被类型为MyBlueprintObject_C的对象的名称、内存占用字节数以及引用者 注:仅被单个对象引用才会打印输出
obj singleref class=MyBlueprintObject_C refclass=ThirdPersonCharacter_C // 加上引用者的类型为ThirdPersonCharacter_C的条件
obj singleref class=MyBlueprintObject_C refname=ThirdPersonCharacter_2 // 加上引用者的名称为ThirdPersonCharacter_2的条件
/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2.MyBlueprintObject_C_0, 86, 86, 86, 0 /Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap.ThirdPersonExampleMap:PersistentLevel.ThirdPersonCharacter_2
obj listcontentrefs
obj listcontentrefs class=MyBlueprintObject_C // 打印依赖MyBlueprintObject_C类型的对象
Dumping references for BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C Blueprint /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.SKEL_MyBlueprintObject_C BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C Class /Script/Engine.EdGraphSchema Class /Script/CoreUObject.Object Class /Script/MyTest1.MyBPObject Class /Script/BlueprintGraph.EdGraphSchema_K2 EdGraph /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject:EventGraph EdGraphSchema /Script/Engine.Default__EdGraphSchema EdGraphSchema_K2 /Script/BlueprintGraph.Default__EdGraphSchema_K2 Function /Script/CoreUObject.Object:ExecuteUbergraph MyBlueprintObject_C /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.Default__MyBlueprintObject_C MyBPObject /Script/MyTest1.Default__MyBPObject Object /Script/CoreUObject.Default__Object SceneThumbnailInfo /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject:SceneThumbnailInfo_0 ScriptStruct /Script/Engine.PointerToUberGraphFrame ScriptStruct /Script/BlueprintGraph.BlueprintCallableFunctionRedirect SKEL_MyBlueprintObject_C /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.Default__SKEL_MyBlueprintObject_C Command not recognized: obj listcontentrefs class=MyBlueprintObject_C
obj listcontentrefs class=MyBlueprintObject_C listclass=MyBPObject // 增加过滤条件:listclass=MyBPObject
Dumping references for BlueprintGeneratedClass /Game/ThirdPersonCPP/Blueprints/MyBlueprintObject.MyBlueprintObject_C MyBPObject /Script/MyTest1.Default__MyBPObject Command not recognized: obj listcontentrefs class=MyBlueprintObject_C LISTCLASS=MyBPObject
obj dependencies
obj dependencies package=/Engine/EngineSky/T_Sky_Blue // 打印/Engine/EngineSky/T_Sky_Blue包的依赖项
obj dependencies package=/Engine/Transient // 打印/Engine/Transient包的依赖项
obj dependencies package=/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap recurse // 打印/Game/ThirdPersonCPP/Maps/ThirdPersonExampleMap包的依赖项
引用相关的类
FReferenceFinder、FReferenceChainSearch