This directory stores APIs that are useful to interact with a debugger.
