Either Turbo Debugger or CodeView could be used to debug Windows. The interpreter was used to debug a program before creating an executable file. Microsoft compilers generate a file called a PDB file containing debug symbols. These error messages allow the user to more easily debug the program. Asynchronous transitions to debug mode are detected by polling the DSCR register. The SysV Application Binary Interface includes a specification for the format of debug symbols. Version 6.1 included the ability to code and debug Shockwave Flash. It can also be used to debug user-mode crash dumps. Some larger chips also have no debug module. Modern HDL simulators have full-featured graphical user interfaces, complete with a suite of debug tools. The Debug Access Port (DAP) is an implementation of an ARM Debug Interface. This results in code that is slower than native code and more complicated to debug. A popular variation on microcode is to debug the microcode using a software simulator. "Serial Wire Debug" (SWD) is an alternative 2-pin electrical interface that uses the same protocol. Machine language without such metadata or debug data is much harder to decompile.