by H.G.Muller » 17 Aug 2014, 13:43
Why not stick with existing protocol and make it an engine-defined option? That seems more natural anyway: I cannot imagine that it would be useful to centrally operate it for all engines as well, such as the hash setting. There never should be any reason for a GUI to emit this command, other than that the user specifically orders it for this particular engine. If the protocol does not specify what exactly it should do, it makes it even more natural to just treat it as an engine-defined option in the Engine Settings dialog.
From the command line you could simply type option debug, if it is a -button option. If you consider that still too much typing, you can always let the engine parser understand the command db as a synonym. As I am a naturally lazy person I usually let my engines understand the non-compliant commands 'q' for 'quit', '1' to '9' for setting up any preprogrammed test positions, and 'p' for printing the internal board as ascii matrix. And let it understand plain moves even when the protocol would specify a 'usermove' prefix. But there isn't any reason why a GUI should want to emit these.