I got sick of not being able to use debug messages, so I modified my shellcode loader to intercept the print debug function call at the kernel debug layer, forwarding the output to the loader console. Much more convenient! All debug logic is stripped out when compiled in release.