1. A method for software instruction debugging by capturing real-time information relating to software execution flow in a digital signal processor, comprising: operating a non-intrusive debugging process within a debugging mechanism of the digital signal processor, the debugging mechanism associated with a core processor of the digital signal processor, wherein the digital signal processor includes a plurality of threads; non-intrusively monitoring software execution in real-time for predetermined aspects of software execution associated with the core processor; recording selectable aspects of the non-intrusively monitored software execution; generating at least one breakpoint in response to events arising within the selectable aspects of the non-intrusively monitored software execution, wherein the at least one breakpoint is generated from at least one of a plurality of breakpoint triggers that includes a hardware breakpoint trigger and an embedded trace macrocell breakpoint trigger; controlling aspects of the non-intrusive debugging process in response to the at least one breakpoint; and generating by the debugging mechanism a thread match signal based on at least one address space identifier of at least one of the plurality of threads, wherein the thread match signal matches the at least one of the plurality of threads to the at least one breakpoint.