1. A method of debugging a transactional memory based representation of a code, the method comprising: setting a breakpoint on an operation in an atomic block of the transactional memory based code representation; and directing execution to a first code path instead of a second code path for the atomic block due to the breakpoint.