Yes, production servers should present little information outside their designed purpose to the outside world. Display of any kind of debug or trace information (intentional or accidental) could clue hackers/attackers into where to pinpoint an attack, a particular form box that maybe vulnerable and at the very least make finding a weakness in your site less difficult, and in the worst case open up a front door to any hacker familiar with the system/software should a noteworthy bit of information show up in the debug listing.
Production code is always recommended to run with debug and trace code turned off.
On the flip side it will make finding internal bugs more difficult if you are not doing internal checking and logging of errors, this is why you type check, argument count, length check, etc etc prior to running your code on untrusted data (from the outside world).
Failure to check your data is how hackers have bagged so many buffer overflow bugs and easily entered into many sites remotely. Should your checks detect something out of the ordinary then an internal log (not accessible to the outside world) should be generated and a email sent off to the administrator to indicate that the log needs checked but no indication of a problem should be made to the outside world, this is to avoid alerting a hacker of a potential goldmine, instead continue the process like everything is normal even if you don't actually process the data, the hacker will write it off as nothing interesting.