Every so often, I make a mistake in the deployment of code from my test server to the production server (the Smalltalk image that runs this and the other blogs here). In those cases, I go back to the methods I updated and look to see what's different. Now, I'd rather not take the server down for this kind of thing, so instead I do something like this and load the patched method into the system:
[self codeThatMightBeWrongHere]
on: MessageNotUnderstood
do: [:ex | Transcript show: ex errorString; cr].
Then I do something with the server that will exercise the modified code, and watch the Transcript (scrolling to a file) to see what happens. Once I figure that out, I restore the original code, do more testing on the test server, and deploy the needed fix. All without taking the server down. It's one of the cooler aspects of having a full development system available as your deployed server.