DIITHiTech
@DIITHiTech
Fullstack javascript developer

Возможно ли в современных средах подменить/изменить stack trace ошибки для отладчика?

Годами ранее удавалось при бросании ошибки натравить отладчик на нужною строку подправив свойство stack при бросании ошибки, сейчас этот трюк повторить не удается :) Даже если менять свойство stack экземпляра Error, что втупую, что переопределением getter'а свойства у сhild класса, то в отладчике стек остается старым, хоть сам объект ошибки возвращает новый. Похоже, сама ошибка всплывает с измененным stack, так что throw не перезаписывает stack, но не пойманная ошибка в консоли появляется со старым стеком.
If you create your own Error object and set the stack trace to a value, the value won't be overwritten when the error is thrown.

Из 3-х свежих браузеров FireFox, Chrome, Opera подменить у экземпляра Error.stack, чтобы его воспринимал debugger удалось только в Opera 40.0. Что с остальными происходит непонятно. Как дебаггер сопоставляет стек с брошенной ошибкой остается загадкой, если ему плевать, что я ему в морду тычу подправленный stacktrace в объекте ошибки.
Может кто встречал на просторах великого гугла решение этой задачи? Пока ничего полезного не нагуглил)
  • Вопрос задан
  • 195 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы