Debug within a VASSAL module?

I am creating a new module where I want to press a button to draw a card into a zone from another board. I have done this successfully in another module and tried to recreate the elements in the new module but I can’t get the button to work. I’m at the point where I need to trace the key commands and global properties but I don’t see a way to do this within the module editor. The Module Debug Window just shows cursor locations. Any advice would be greatly appreciated. Thanks.

I generally add a Global Option called, say, debug, and then in Global Key Commands and similar, I set report format to something like

{debug?("~Global Key Command XYZ pressed"):""}

and I add Report Action traits to pieces and prototypes with report format set to something similar

{debug?("~"+PieceName+" handles command XYZ "):""}

(the ~ makes the message red - see here).

I actually also make a Global Option called verbose and then use that report generally useful information in a similar fashion.

Note that Report Action is executed at some - not-completely-transparent - time. Sometimes it seems to be reported when the key or key-command is seen, at other times it seems to be reported after the key or key-command has been fully executed (including cascades to Global Key Command and the like).

Hope this is of some use.

Yours,
Christian

I typically insert Report Action traits in various locations to get visibility on commands as received.

You can also create temporary menu items on a piece to manually send it a command which is normally sent internally. That helps to isolate the failure to upstream or downstream of the piece receiving that command.