У меня есть пользовательская функция assert()
, которая извлекает трассировку стека функций (во всех современных браузерах, кроме IE):
if (!condition) {
try {
throw Error();
} catch (e) {
// Browsers Firefox, Chrome, Opera provide additional stack property;
// Check if it does not exist (IE);
stackTrace = (!e.stack) ? "No stack available" : e.stack;
self.reportError(errorType, stackTrace, message);
}
}
Очевидно, что происходит гораздо больше, чем то, что я показываю, но идея есть.