Поиск значения в любом месте веб-приложения

Это не настоящий вопрос программирования, но он сводит меня с ума...

Пожалуйста, не закрывайте его сразу, как "просят инструменты" (даже если я это сделаю :-D)

На данный момент мне нужно что-то исправить в веб-приложении JavaScript/AngularJS. Это не я делал, я копаю самородки в кубометрах песка...

Приложение загружает строки из веб-сервиса. Приложение показывает, что загружено 22 строки, в массиве 22 уникальных идентификатора. Ответ веб-сервиса через DevTools говорит мне, что было получено 18 строк. 4 строки, кажется, существуют где-то.

Я знаю уникальные идентификаторы (GUID), которые не были частью загрузки. Теперь я хотел бы сделать что-то вроде полнотекстового поиска во время выполнения, если я смогу найти эти странные GUID где-нибудь в любом контексте...

Предлагает ли Crome DevTools такой инструмент? Может быть, у вас есть другое предложение...


person Shnugo    schedule 23.10.2017    source источник
comment
@wOxxOm Спасибо, я попробовал это, но превысил максимальную глубину ... В любом случае: спасибо за подсказку к фрагментам, очень красиво!   -  person Shnugo    schedule 24.10.2017
comment
это не настоящий вопрос программирования, и «Пожалуйста, не закрывайте» - не лучший способ начать вопрос. Это только подчеркивает тот факт, что этот вопрос не очень ясен.   -  person Claies    schedule 25.10.2017
comment
@Claies Слушай, я сам ответил на довольно много вопросов. Вы можете быть уверены, что я знаю, что такое хороший вопрос. И достаточно часто я был тем, кто голосовал за закрытие. Но в этом случае я не могу показать сообществу часть кода с подробными вопросами. Тем не менее, это о программировании. Это, по крайней мере, то, что я думаю, что я делаю ... Как вы отлаживаете этот особый случай, на мой взгляд, достаточно близко ... Что не ясно с вопросом?   -  person Shnugo    schedule 25.10.2017
comment
Приложение показывает, что загружено 22 строки Где вы это видите? и почему это не говорит вам, где лежат расхождения?   -  person Claies    schedule 25.10.2017
comment
@Claies, пользовательский интерфейс показывает общее число, но для его отображения используется нумерация страниц. В $scope есть объект с количеством 22, но есть массив с 15 записями (из-за разбиения на страницы). При переходе на страницу 2 я получаю другие записи без каких-либо действий против бэкэнда. Я новичок в JavaScript и Angular (много сделал с C# и TSQL). Эта логика была глубоко запрятана в директивах, сервисах, да где угодно... Я нашла, но это помогло бы сейчас, где искать...   -  person Shnugo    schedule 25.10.2017
comment
ну, просто зная, как работает angular, я действительно не уверен, что какой-либо поиск в каком-либо инструменте типа DOM поможет, потому что это не похоже на то, что эти элементы были отображены в DOM, чтобы их можно было найти. Сам Angular на самом деле не имеет функции типа «покажи мне все переменные в памяти»... помимо регистрации вывода на различных этапах кода, на самом деле нет ничего, что могло бы помочь проанализировать логику приложения, что я могу думать.   -  person Claies    schedule 25.10.2017
comment
@Claies, Эй, это звучит почти как ответ :-D При проверке содержимого объектов в точке останова можно открыть миллион подузлов, чтобы найти еще больше подузлов. Если GUID был спрятан где-нибудь в этом переулке, его можно будет найти - каким-то образом... В любом случае, я нашел свои потерянные вещи, эврика! Удачного кодирования!   -  person Shnugo    schedule 25.10.2017


Ответы (1)


Один из подходов заключается в поиске текста GUID во всех исходных файлах.

  1. Откройте панель поиска. Он открывается как вкладка в ящике консоли.
  2. Введите идентификаторы GUID в текстовое поле.

Другой подход состоит в том, чтобы исследовать стек вызовов, когда идентификаторы GUID заносятся в модель DOM.

  1. Добавьте модификацию поддерева точку останова в элементе <ol>, в который вставляется GUID.
  2. DevTools делает паузу каждый раз, когда изменяется <ol>, поэтому вам, возможно, придется несколько раз нажать Resume Script Execution.
  3. Когда вы остановились на соответствующем изменении, вы можете исследовать person Kayce Basques    schedule 23.10.2017
comment
Спасибо, только что попробовал... Кажется, это поиск по всем файлам. Но мне нужен поиск по всем объектам во время выполнения, чтобы найти некоторые значения. Я должен выяснить, где в модели причудливого объекта это спрятано. - person Shnugo; 24.10.2017
comment
Есть ли класс, который создает объекты? Можете ли вы установить точку останова в конструкторе? - person Kayce Basques; 24.10.2017
comment
Проблема была в том, что я понятия не имел, живут ли эти объекты в модели объекта. Я нашел их, используя археологию кода (означает копание :-D). Итак: Проблема решена. Вопрос выше остается без ответа и мне интересно, почему в DevTools ничего подобного нет... Просто везде находка... - person Shnugo; 25.10.2017
comment
Ознакомьтесь с рабочим процессом DOM Change Breakpoint, который я добавил в свой ответ. - person Kayce Basques; 25.10.2017
comment
Thx, я посмотрю на это завтра! - person Shnugo; 25.10.2017