Hi,
I'm working a C# project and often I have leak problems.
Like:
EditorSettings: Save OK!
Mono: Finalizing scripts domain...
Mono: Unloading scripts domain...
Mono: Runtime cleanup...
Mono: Finalized
PulseAudio: context terminated
Leaked instance: Node:24522 - Node name:
Leaked instance: Node:5634 - Node name:
Leaked instance: CSharpScript:5636 - Resource path:
Hint: Leaked instances typically happen when nodes are removed from the scene tree (with `remove_child()`) but not freed (with `free()` or `queue_free()`).
Orphan StringName: CreatePlayerContainer
Orphan StringName: VerificationTokenSuccessful
Orphan StringName: PeerDisconnected
Orphan StringName: DesertEdge.Entities
Orphan StringName: ServerEnabled
Orphan StringName: <Maintenance>k__BackingField
Orphan StringName: Maintenance
Orphan StringName: BuildIssue
Orphan StringName: UnitTest
Orphan StringName: FeaturesSetting
Orphan StringName: VerificationTokenUnsuccessful
Orphan StringName: CSharpScript
Orphan StringName: <ServerEnabled>k__BackingField
Orphan StringName: Node
Orphan StringName: BuildStateChanged
Orphan StringName: <UnitTest>k__BackingField
Orphan StringName: Invoke
Orphan StringName: <VisualDebug>k__BackingField
Orphan StringName: VisualDebug
StringName: 19 unclaimed string names at exit.
Some are Signals, some are method properties, and other I have no idea where they came from
There is a way to print orphan objects increment number while logging?
I need to pinpoint the exactly place where i need to understand why I have a leak.
@Calinou I have a question for you , maybe you know the answer :)
In Debug->Monitors we have "Orphan Nodes" indicator that show us the amount of "memory leak" in our code.
My question is. In case I use GC.Collect()
or/and Dispose()
the number in this indicator decrease or remain the same?
It it remain the same what tools do we have to understand if the object was really freed?
Thanks