Testing and Parsing an ASP.NET YSOD (Yellow Screen Of Death) from an XMLHttpRequest.responseText





0/5 (0 vote)
After a minor bout of forgetfulness regarding legal regexp flags in Javascript, I knocked this one out that parses the comment block at the end of an YSOD. var rxYSOD = //;if (rxYSOD.test(text)) { // looks like one.. ...
After a minor bout of forgetfulness regarding legal regexp flags in Javascript, I knocked this one out that parses the comment block at the end of an YSOD.
var rxYSOD = /<!--\s*\[(.*?)]:(\s*.*\s(.*[\n\r]*)*?)\s*(at(.*[\n\r]*)*)-->/; if (rxYSOD.test(text)) { // looks like one.. var ysod = rxYSOD.exec(text); errObj = { Message: ysod[2], StackTrace: ysod[4], ExceptionType: ysod[1] }; }
will find and parse the comment block shown. I am guessing that is why they put it there....
<html> <!-- omitted --> <body bgcolor="white"> <!-- omitted --> </body> </html> <!-- [ArgumentException]: Unknown web method ValidateUser. Parameter name: methodName at System.Web.Script.Services.WebServiceData.GetMethodData(String methodName) at System.Web.Script.Services.RestHandler.CreateHandler(WebServiceData webServiceData, String methodName) at System.Web.Script.Services.RestHandler.CreateHandler(HttpContext context) at System.Web.Script.Services.RestHandlerFactory.GetHandler(HttpContext context, String requestType, String url, String pathTranslated) at System.Web.Script.Services.ScriptHandlerFactory.GetHandler(HttpContext context, String requestType, String url, String pathTranslated) at System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig) at System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) -->