|
Baylys Just practicing to pass the Turing test. |
||||||||||||||||||||||||
|
mrDebugger - Step by StepThis page describes how to run through a debugging procedure that gathers information to help developers debug a situation. You need access to your Frontier host server to make use of this technique.
Warning! If the error occurring when you submitting stories, pictures, etc. consider first - do you want to do this operation multiple times? The effect is the same as if you had manually posted the new story, picture or gems. In this how-to, I am debugging a problem that first appeared like this
Install mrDebugger.Make sure mrdebugger is installed. To install it open the quickscript window (CMD-; on Macintosh, CTRL-; on Windows). Type mrdebugger.install(), click Run. You see true at the bottom of the window
To confirm success (optional) jump to user.webserver.responders, there should be an entry called mrdebugger.
Recreate the error.Now you have to reproduce the problem using mrdebugger url. What to do here depends on whether you get an error on a page after submitting a form or not. If its a normal link, copy the url and change it by adding mrdebugger as the first directory name after the domain (and perhaps the port). For example, if the url that fails is<http://www.hostingdomain.com:8080/myfirstsite/badpage> use instead<http://www.hostingdomain.com:8080/mrdebugger/myfirstsite/badpage> If the page failing is the result of a form submission, then you need to add the mrdebugger prefix to the url that takes you to the form page. This works because when you look at page with mrdebugger, it rewrites the output so that mrdebugger is inserted in every url that points into the same website. So it puts the mrdebugger into the url of the form action attribute. So in my example problem, I entered a new url like this
Locate the debug tableNow in Frontier jump to mrdebugger.debug. Highlight the first line
and hold the CMD (macintosh) or CTRL (Windows) while hitting the / key. A table opens, with one entry for request for a url that had the mrdebugger prefix. It's hard to be to specific here, but match the request table entry to the url that you are debugging.
Now count what entry this in in the table. In the example above it is entry 2. Change the number 1 in the line in the mrdebugger.script window that says
local (tbl = adrLog^[1]) «index thru position to be the number of the entry you have identified. Click Compile.
Reproduce the problem in Frontiers debugger.In the amended mrdebugger.script window.
Do you see an error dialog? If yes, click and hold the right arrow on the right. A small menu of all the scripts that were active to where the error occurred - the stack - appears. Take a picture of that, then click on the right arrow. Normally, a script opens. often the name of the script is a major clue as to what is wrong. The cursor should be visible , press enter to highlight the line. Take a screen picture of that too. Report the error with the 2 pictures. The developer may not love you for it, but they won't have to waste a lot of time by asking you for all this information.
To finish off our example, here is where the failure occurred
|
|||||||||||||||||||||||