1. A method for diagnosing a processor processing a stream of instructions, said method comprising the steps of: (i) controlling said processor to execute in a single step mode such that a single instruction from said instruction stream is executed said processor determines if said single instruction is one of at least one predetermined type of instruction and stores a type indicator in a data storage location and a diagnostic exception is taken after said processor has processed said single instruction; (ii) performing diagnostic operations following said diagnostic exception including: accessing said type indicator stored in said data storage location, and (iiia) in response to said type indicator indicating said single instruction was not one of said predetermined type controlling said processor to continue executing instructions in said single step mode such that a next single instruction is executed on return from said diagnostic exception; (iiib) in response to said type indicator indicating said single instruction was one of said at least one predetermined type controlling said processor to exit said single step mode and not execute said next instruction within said instruction stream as a single instruction followed by a diagnostic exception, wherein said type indicator stored in said data storage location indicates that said instruction was one of said predetermined type or said instruction was not one of said predetermined type or that said instruction is of an unknown type, wherein if in said step of accessing said type indicator it is determined that said type indicator indicates that said instruction is of an unknown type an additional step of examining said single instruction and determining if said single instruction is of said predetermined type is performed, said steps are implemented on a data processing apparatus.