The easiest way to debug with Webcrossing is to just print values to the screen:
myvar: %% myvar %%<br>
+ 'myvar: ' + myvar + '<br>';
But sometimes - especially inside filters - it isn't possible (well, not practical) to do this. Or maybe you are trying to catch an elusive bug on a production server and printing to the screen is not an option. In that case, you need to write a log file with the values in it which you can examine after processing.
Let's use a debug file called, well, "debugFile".
In WCTL, the syntax is like this:
%% "debugFile".fileWrite( "myMacro ran" & crlf ) %%
%% "debugFile".fileWrite( "myVar:" & myVar & crlf ) %%
In SSJS, it looks like this:
"debugFile".fileAppend( "myMacro ran" + '\r\n' );
"debugFile".fileAppend( "myVar:" + myVar + '\r\n' );
You can add timestamps too if you intend to leave the debug code in for a while.
When you're ready to look at it, the debugFile file is in the /system directory on your server (if viewing from FTP) or the /webx directory (if viewing from the server's operating system itself).