1. A method for software debugging using annotation metadata, comprising: maintaining a set of metadata comprising source code annotation information for a software program; maintaining data/metadata relationships between individual units of said metadata and individual units of said source code; setting a software debugging point that is associated with debugging point metadata comprising one or more units said metadata; and performing a debugging action when execution of said software program reaches said debugging point.