Отслеживайте выполнение ВСЕХ Javascript в веб-приложении

Вот ситуация: сложное веб-приложение не работает, и возможно вырабатывать нежелательное поведение последовательно. Причина проблемы неизвестна.

Предложение: проследить пути выполнения всего кода JavaScript. По сути, создайте два чудовищных журнала, которые затем можно будет ввести в алгоритм сравнения, чтобы определить, где поведение, связанное с ошибкой, начинает расходиться (поскольку причина не очевидна из поведения приложения, а также понять и получить копию действительного кода JS). быть трудным из-за большого количества страниц, которые нужно переключить и скопировать из веб-инспектора. Сложность заключается в том, что все страницы динамически объединяются вместе с кодом Perl, где значительная часть кода JS существует только как ( динамический ...) строки Perl).

Веб-инспектор в Chrome не имеет опции, о которой я знаю, для записи трассировки выполнения. По сути, мне бы хотелось, чтобы журнал каждой строки JS выполнялся в порядке их выполнения. Я не вижу в этом трудностей с учетом того, что виртуальная машина JS является однопоточной. Проблема просто в том, что существующие пользовательские инструменты не предназначены для такой жесткой отладки. Если мы посмотрим на Профилировщик в Инструментах разработки, он явно способен на те инструменты, которые мне нужны, но он в основном предназначен дляпрофилирование вместотрассировка.

Как я могу начать с этим? Есть ли способ, как я могу собрать Chrome из источника, где я могу

выключить JIT в V8?записывать каждое отдельное выражение JavaScript, оцененное V8, в файл

У меня нет опыта в разработке Chrome. Так, например приветствуются ссылки на dev-builds / ветки / версии / дистрибутивы Chrome / Chromium / Canary (какая разница?).

На данный момент кажется, что инструментарий браузера с мощной трассировкой js все же будет проще, чем перепроектировать приложение с ошибками. Архитектура страницы - это катастрофа, но функциональность сложна, и она почти полностью работает. Мне просто нужно найти одну недостающую часть.

В качестве альтернативы, если инструменты такого рода уже существуют, по каким другим ключевым словам я могу их искать? «Code Tracing» - единственное, что я могу придумать.

Я проверялdynaTraceЭто было счастливое совпадение, так как наше приложение поддерживает IE (на самом деле, поддержка Chrome только что вышла из бета-версии), но это не создает текстовый дамп, а в основном производитмассивный Win32 UI расширяет дерево, которое невозможно отразить. Это делает меня действительно грустным, потому что язнать насколько труднее было сделать так, чтобы представление следа проявилось таким образом, и все же оказалось, что оно совершенно бесполезно. Кто будет прокручивать вверх и вниз это древовидное представление и видеть в нем что-то действительно полезное, кроме как игрушечный пример веб-приложения?

Ответы на вопрос(3)

Ваш ответ на вопрос