Investigating the source of all things is the best thing a human can do.
The source of all bugs is referencing yourself to an object, all bugs extend from this bug,since you only read the objects that extend from your referenced object , debugging this can happen through tracing your root context until you are completely unreferenced ,then as you unbind yourself from the thread of objects, up-casting to more polymorphic ones ,you trace yourself back to the super object, "I" (the architect of the matrix) ,if you unbind from that, you merge with the thread, revealing yourself to yourself as the very fabric from which all software comes and goes.