Как отлаживать код нативного скрипта?

Я только начинаю работать с нативным скриптом, поэтому, пожалуйста, обратите внимание, если это всего лишь простой вопрос.

Я запускаю свой код на своем телефоне с помощью tns run android, но когда он запускается, он запускает тонны входа в систему также в консоли, поэтому как я могу отлаживать написанный мной код, скажем, у меня есть оператор console.log в моем коде, но я могу не могу легко найти мое утверждение в этой куче журналов.


person guleria    schedule 11.09.2015    source источник


Ответы (1)


Вы можете использовать инструмент отладчика, доступный для виртуальной машины JavaScript. Дополнительную информацию об этом можно найти в документации по NativeScript — отладка. В основном для использования отладчика вам понадобится браузер Chrome. Есть несколько вариантов его запуска:

  1. Если у вас нет запущенного приложения, вам придется использовать tns debug android --debug-brk, и оно запустит приложение и откроет отладчик.
  2. Если вы уже запускали приложение с помощью tns run android или tns livesync android --watch (ниже приведена дополнительная информация об этой команде), вы не сможете написать никакую другую команду в текущем окне консоли. В этом случае вы можете открыть еще одно окно консоли и набрать tns debug android --start
  3. Если вы хотите иметь возможность вводить другие команды в текущей консоли, вы можете использовать tns run android --justlaunchи после этого вы сможете вводить в том же окне консоли tns debug android --start.

Если вы хотите, чтобы все ваши console.log() отчеты были напечатаны в одном месте, вы можете использовать Android Device Monitor. Чтобы запустить его, напишите monitor в консоли, и он появится. Там вы можете создать новый фильтр для вашего console.log()-s. В диалоговом окне, которое появится после нажатия зеленого плюса, в поле По тегу журнала нужно написать JS. Затем, после запуска вашего приложения, вы можете нажать на имя, которое вы дали этому фильтру, и вы увидите все операторы console.log() из вашего приложения. Что было бы удобнее для использования монитора, так это использовать команду tns livesync android --watch. С его помощью ваше приложение будет автоматически запускаться после сохранения внесенных изменений. Имейте также в виду, что иногда монитор просто отключается, и вам придется запускать его снова.

person Neli Chakarova    schedule 11.09.2015
comment
@Neil Chakarova Спасибо, что monitor действительно помогает, но когда я снова перестаю запускать tns run android, он снова не догоняет устройство. Кроме того, после того, как я запустил tns run android, мой tns debug android --start доцент работает, он просто зависает очень долго, а затем в конце он говорит Не удается обнаружить порт отладки. Есть идеи, почему? - person guleria; 11.09.2015
comment
@Neil Chakarova tns debug android --get-port всегда возвращает 0, хотя все шаги были выполнены правильно. У меня Chromium в качестве браузера, может быть проблема в этом? - person guleria; 14.09.2015
comment
@guleria Возможно, вы правы насчет браузера хрома, но это не будет ясно, пока я не увижу, что такое вывод команды tns debug android --start --log trace. Кроме того, может быть лучше опубликовать проблему на github.com/NativeScript/nativescript-cli/issues. чтобы команда была более заметной. - person Mihail Slavchev; 15.09.2015
comment
@MihailSlavchev Отправленный вопрос здесь github.com/NativeScript/nativescript-cli/issues/923 - person guleria; 15.09.2015