Debugging webMathematica
web
Mathematica involves running computations inside a server. This poses a number of problems and constraints for investigating why it does not work as you intend. The best way to track down issues is to use
Wolfram Workbench to connect to the server and debug your code.
Not Using Wolfram Workbench
If you do not want to use Wolfram
Workbench, you can use messages and print statements to resolve your problems. You can get message output returned in your web page with
MSPGetMessages and the output of print statements with
MSPGetPrintOutput. The capture of message and print output is described in the example
Messages.jsp. It is probably a good idea to confirm that your calculations work correctly in an interactive
Mathematica session.
In addition to message and print output, you can use the logging and monitor features provided by the system. These are described in more detail in the sections on
Logging and the
Kernel Monitor. The simplest technique is to look at the files written by the servlet engine. A more sophisticated way is to use the monitor, which can be accessed via a URL, for example,
http://localhost:8080/webMathematica/Resources/Tools/KernelMonitor.jsp. If you increase the level of log output by setting
VerboseLogs to
true, you will generate more output.
Using Wolfram Workbench
You can use Wolfram
Workbench to debug your
Mathematica code as it runs in the server. With this you can do things such as set breakpoints, examine the stack, and catch messages. In this way you can gain a deeper understanding of how your code runs, thereby helping you to develop more quickly. You can do this for code loaded into a JSP and for code that runs as a web service. For more information, see the debugging with the
Workbench sections of the documentation.