Copy link to clipboard
Copied
Good day to all: I have a standard Colfusion 9 version on our windows server, we need to be able to debug based on IP address, before on Coldfusion 8 all we did was add the IP address to the Debugging IP Addresses and it would only debugg for those IP's great, but now we have "Enable Robust Exception Information" checked but it debugs for ALL IP's and the moment we uncheck that option even leaving the IP address we want it to debug on the Debugging IP Addresses option on, Will NOT debugg.
Any help will be greatly appreciated.
Thanks and Happy coding.
Copy link to clipboard
Copied
The setting that you mention "Enable Robust Exception Information" is not for debugging. It is for showing more informaiton in the browser when an exception (error) happens. Don't turn this on in production environments.
There is another setting on that same admin page "Enable Request Debugging Output". This is the setting that allows ColdFusion to start sending debug information to the ips assigned under the other admin page. Make sure that your ip is added to that list and you should start seeing debug info with every request. Assuming you are not overridding the setting in Application.cfc or your template(s). Be careful too if everyone is browsing through a proxy server. When you surf through a proxy everyone has the same ip address (as far as ColdFusion is concerned). So everyone will see the debugging info.
Copy link to clipboard
Copied
Thanks a lot Miguel, for your response it was really helpful, well in a way. I now understand that Robust Exception Information should not be on for the live server, though is there a way of getting that Robust Error Information (Type of error and line number) with the Request Debugging Output? and if so, would I just have to set my application.cfc to showdebugoutput="no" and put debug=true on the url when needed? Do I make any scence????
What I am trying to achieve is the perfect scenario where my applications are not giving debugging or error information information to anybody, except to us (We do have a fixed IP) only when Errors ocurr.
Once again thanks for your help.
Sincerely,
Copy link to clipboard
Copied
You will get the Robust Error Information if you have Debugging Output turned on and "Exception Information" checked under Custom Debugging Output. (This is on by default).
If you really want the perfect scenario, I would suggest the liberal use of CFTRY and CFCATCH statements in your code, so you can do things like set up email notifications to yourself when errors occur, and write all kinds of custom information to the CF application log. This is the way to go for production apps. You can't always count on the users to let you know when problems occur.
...David
Copy link to clipboard
Copied
I agree with David. You don't want to enable/use debugging info on production servers. Using cftry and cfcatch around blocks of code will let you pin-point exactly what's going on. I would also add that you should include a global error handler to catch errors that you miss with your cftry/cfcatch blocks. You can define an application's global error handler in your Application.cfc (onerror method) and you can define a ColdFusion server's global error handler in the CF admin (settings page).
Copy link to clipboard
Copied
Thank you guys, I get the point, will start doing instead Cftry/cfcatch, my confusion at the begginning was on how Robust exceptiion Information and IP Debugging worked.
Thanks again for your help, is greatly appreciated and happy coding.
Sincerely,