Mypal68 icon indicating copy to clipboard operation
Mypal68 copied to clipboard

При остановке на точке прерывания вкладка отладчика становится пустой

Open zanud opened this issue 1 year ago • 11 comments

При отладке браузера обнаружил, что при остановке на точке прерывания вкладка отладчика становится полностью пустой: blank И реакции на клавиши F8, F10, F11 - никакой.

Окно в целом при этом не зависло: на другие вкладки можно переключаться, там всё нормально.

Дальше выяснил, что это же самое происходит и при отладке обычных веб-страниц. В качестве жертвы использовал вот такой простейший файлик:

<!DOCTYPE HTML>
<html>
<head></head>
<body>
<p>xfbgchcg</p>
<script>
var x = 0;
</script>
</body>
</html>

Открываю его в браузере, открываю отладчик - всё нормально. Ставлю точку прерывания на строку скрипта, жму F5 для перезапуска страницы - всё, отладчик полностью белый.

Дополнительно хочу отметить, что вкладка пустеет именно при остановке на точке прерывания. Если точку прерывания ставлю на строку, которая никогда не вызывается:

<!DOCTYPE HTML>
<html>
<head></head>
<body>
<p>xfbgchcg</p>
<script>
function q(a) {
  return a+1;
}
var x = 0;
</script>
</body>
</html>

то и с владкой ничего плохого не происходит.

zanud avatar Oct 28 '24 12:10 zanud

Совсем нету на это времени, но я тыкнул там наугад немного, смотри как будет в новой версии.

Feodor2 avatar Nov 21 '24 15:11 Feodor2

Увы, всё осталось так же.

Ещё одна небольшая подробность: раньше мне казалось, что перед тем как вкладка станет белой, в ней на мелкую долю секунды появляется содержимое. А сейчас этот этап стал длиться намного дольше, и удалось рассмотреть - там действительно появляется нормальная картинка отладчика, и даже рыжая плашка в правом верхнем углу: "Приостановлено на точке останова", а потом всё исчезает, и в момент исчезновения в Консоль браузера вылетают три сообщения о внутрибраузерных ошибках.

zanud avatar Nov 26 '24 10:11 zanud

Вроде починил, изменения только яваскритпе, могу дать пачь, не надо будет ждать следующию версию месяц минимум

Feodor2 avatar Feb 12 '25 22:02 Feodor2

Давай

А то ведь я застревание полосы прогресса установки дополнений и на нынешней версии наблюдал.

zanud avatar Feb 12 '25 22:02 zanud

Хм. Файла devtools/client/debugger/src/actions/types/index.js у меня ни в одном из omni.ja нет. Более того - в них даже каталога devtools/client/debugger/src/actions/types/ нет. В devtools/client/debugger/src/actions/ есть только каталоги

ast
breakpoints
pause
sources
utils

zanud avatar Feb 12 '25 22:02 zanud

Сегодня ("на свежую голову") решил пропатчить те файлы, которые в браузере есть. Результат тоже обескураживающий:

devtools/client/debugger/src/components/Editor/DebugLine.js - и близко не содержит тех строчек, которые патч должен изменить.

/devtools/client/debugger/src/reducers/pause.js - единственный файл, который патчится, но патч в нём меняет только комментарий (eslint complexity).

zanud avatar Feb 13 '25 08:02 zanud

А теперь смотрю файлы, выложенные на GitHub, и вижу там и недостающие файлы, и те строки, которые патч менять должен.

Похоже, с процессом сборки релизов что-то не так.

zanud avatar Feb 13 '25 08:02 zanud

Похоже, с процессом сборки релизов что-то не так.

Что за чушь

Но да в омних по другому

ddd.patch

Feodor2 avatar Feb 13 '25 14:02 Feodor2

Полтора дня убил на войну с patch.exe, прежде чем удалось добиться успеха. В прошлом такого не было, всё получалось сразу и без усилий. Но тогда я это делал под современными версиями Windows, а сейчас мне только XP доступна. И, соответственно, две древние сборки patch.exe - одна из UnixUtils, другая из GNUWin32. И обе оказались одинаково странные - та командная строка, которую я раньше для патчения использовал, не работает - обе программы дружно пишут, что файлы для патчения отсутствуют (хотя по документации всё правильно, и раньше работало - я же из старых батников параметры и взял). Долго экспериментировал, пока не подобрал вариант, при котором патчилка согласилась, что файлы таки есть. И тут обнаружилось, что обе мои версии отказываются патчить, если в файле патча и тех файлах, которые патчить надо, используются разные признаки конца строки. Пришлось ddd.patch отконвертировать, только тогда всё, наконец, получилось.

Ты под какой версией Windows работаешь? Нормальный patch.exe для XP есть?

Теперь об отладчике. В заработавшей версии обнаружились интерфейсные странности.

  1. Когда отладчик останавливается на точке прерывания, справа вверху появляется плашка "Приостановлено на точке останова". Так и должно быть. Но затем, когда я иду пошагово по коду - хоть с заходом внутрь функций (F11), хоть без захода (F10) - на каждом шагу выскакивает плашка "Приостановлено на этапе захода/выхода". Раньше такого не было, да и текст к ситуации не очень подходит. Это в Firefox нововведение такое?

  2. В том же правом верхнем углу находятся кнопки пошагового прохождения. Только они почему-то дублируются. Вот, я одинаковые цветными линиями соединил: Image В FF 52.9 и Seamonkey такого дублирования нет.

  3. Слева обычно показываются все файлы, содержащие скрипты, используемые на странице. А здесь кроме них почему-то ещё присутствуют расширения браузера и даже потроха самого браузера: Image Тот же вопрос: это в FF нововведение такое?

zanud avatar Feb 15 '25 14:02 zanud

Это такие мелочи буду смотреть когда не знаю, не планирую в этом году точно.

И я пользую везде просто гит, им все дела с патчем делаю.

Feodor2 avatar Feb 17 '25 20:02 Feodor2

Совершенно верно, это косметика. За исключением пункта 3, который может быть как косметикой, так и чем-то серьёзным. Потому я и спросил, есть ли такое в Firefox.

И ещё в Mypal есть одна проблема, которая тоже может оказаться с причинами пункта 3 связанной.

У меня установлено расширение Link Status Redux. А в консоли браузера при заходе практически на любую страницу любого сайта вылезает сообщение вида: Попытка нарушения системы безопасности: содержимое «https://github.com/Feodor2/Mypal68/issues/536» не имеет права загружать moz-extension://e41d956a-6192-4935-a677-e4b63c10894c/overlay.html или ссылаться на него.

moz-extension://e41d956a-6192-4935-a677-e4b63c10894c это Link Status Redux и есть.

Само расширение при этом работает нормально.

Посмотри, если ли такая ругань в Firefox.

zanud avatar Feb 18 '25 10:02 zanud