direct.showbase.GarbageReport

from direct.showbase.GarbageReport import FakeDelObject, FakeObject, GarbageLogger, GarbageReport, b_checkForGarbageLeaks, checkForGarbageLeaks

Contains utility classes for debugging memory leaks.

Inheritance diagram

Inheritance diagram of direct.showbase.GarbageReport

class FakeDelObject[source]

Bases: object

class FakeObject[source]

Bases: object

class GarbageLogger(name, *args, **kArgs)[source]

Bases: GarbageReport

If you just want to log the current garbage to the log file, make one of these. It automatically destroys itself after logging

__init__(self, name, *args, **kArgs)[source]
class GarbageReport(name: str, log: bool = True, verbose: bool = False, fullReport: bool = False, findCycles: bool = True, threaded: bool = False, doneCallback: collections.abc.Callable[[direct.showbase.GarbageReport.GarbageReport], object] | None = None, autoDestroy: bool = False, priority: int | None = None, safeMode: bool = False, delOnly: bool = False, collect: bool = True)[source]

Bases: Job

Detects leaked Python objects (via gc.collect()) and reports on garbage items, garbage-to-garbage references, and garbage cycles. If you just want to dump the report to the log, use GarbageLogger.

__init__(self, name: str, log: bool = True, verbose: bool = False, fullReport: bool = False, findCycles: bool = True, threaded: bool = False, doneCallback: collections.abc.Callable[[direct.showbase.GarbageReport.GarbageReport], object] | None = None, autoDestroy: bool = False, priority: int | None = None, safeMode: bool = False, delOnly: bool = False, collect: bool = True) None[source]
destroy(self) None[source]
finished(self)[source]
getDesc2numDict(self) dict[str, int][source]
getGarbage(self)[source]
getNumCycles(self) int[source]
getReport(self)[source]
notify = <direct.directnotify.Notifier.Notifier object>
run(self)[source]
b_checkForGarbageLeaks(wantReply: bool = False) int[source]
checkForGarbageLeaks() int[source]