code/controllers/subsystem/garbage.dm
In order to debug First is a verb called "Find References", which lists every refererence to an object in the world. This allows you to track down any indirect or obfuscated references that you might have missed. Complementing this is another verb, "qdel() then Find References".
This does exactly what you'd expect; it calls If you have a datum or something you are not destroying directly (say via the singulo),
the next tool is Finally is a verb, "Show qdel() Log", which shows the deletion log that the garbage subsystem keeps. This is helpful if you are having race conditions or need to review the order of deletions. Note that for any of these tools to work | |
/datum/qdel_item | Qdel Item: Holds statistics on each type that passes thru qdel Holds the type as a string for this type Total number of times it's passed thru qdel. Total amount of milliseconds spent processing this type's Destroy() Times it was queued for soft deletion but failed to soft delete. Different from failures because it also includes QDEL_HINT_HARDDEL deletions Total amount of milliseconds spent hard deleting this type. Highest time spent hard_deleting this in ms. Number of times hard deletes took longer than the configured threshold The highest amount of refs its had after failing to qdel Number of times it's not respected force=TRUE Number of times it's not even bother to give a qdel hint Number of times it's slept in its destroy Flags related to this type's trip thru qdel. |
---|---|
Lazylist of string metadata about the deleted objects | |
/proc/qdel | Should be treated as a replacement for the 'del' keyword. |