This paper will show you how you can create simple tools that automatically detect various kinds of allocation bugs. Throughout, I will focus on techniques that are suited to embedded development. The embedded environment poses many challenges for a tool builder. Often the target has extremely limited RAM. Sometimes the application consumes virtually all of the processor’s bandwidth or is very sensitive to timing changes for some other reason. Most embedded applications are designed to run non-stop. For all these reasons, techniques that work on the desktop may not work in the embedded domain.