2012-07-15 16 views
7

Mam pewne doświadczenie w pisaniu skryptów aplikacji opartych na kontenerach, ale jestem zupełnie nowym użytkownikiem aplikacji internetowych.Skuteczny sposób debugowania aplikacji sieci Web Google Apps Script

Jak debugować (np spojrzeć na wartości zmiennych, krok za pomocą kodu itp) aplikacji sieci web? W skrypcie związanym z kontenerami było to łatwe, ponieważ mogłem ustawić punkty przerwania, użyć debugera skryptów aplikacji - jak to zrobić na stronie internetowej, np. kiedy wykonuję doPost?

+0

[tutaj] (https://developers.google.com/apps-script/troubleshooting) to odpowiedź na swoje pytanie. – megabyte1024

+0

Czuję, że nic na tej stronie nie pomaga, szczególnie w przypadku aplikacji internetowych? Wiele z nich nie dotyczy aplikacji internetowych. – BruceM

Odpowiedz

6

W swojej doskonałej książce „Google Script”, James Ferreira opowiada konfigurowania własnego środowiska programistycznego z trzema oknami przeglądarki; jeden dla kodu, drugi dla podglądu na żywo (w Opublikuj, Rozmieść jako aplikację internetową, otrzymasz link "najnowszy kod", który zaktualizuje widok na żywo do najnowszego zapisu po odświeżeniu) i jeden dla arkusza kalkulacyjnego rejestruje błędy (za pomocą polecenia try/catch owiniętego wokół fragmentów kodu, które chcesz mieć na oku).

+1

Dzięki - nawet nie wiedziałem, że istnieje - wygląda niesamowicie! Znaleziono również jego powiązaną witrynę https://sites.google.com/site/scriptsexamples/simple-text-editor - zawierającą najbardziej wyczerpujące przykłady, które do tej pory widziałem. – BruceM

1

W Web Apps, nawet najbardziej podstawowe debugowanie zmiennych poprzez Logger.log() nie działa!

Wielki rozwiązanie mieć przynajmniej prosty zmienna logowania dostępny jest Peter Herrmann's BetterLog for Apps Script. Pozwala na zalogowanie się w arkuszu kalkulacyjnym (takim samym jak działający arkusz kalkulacyjny lub osobny).

Instalacja jest bardzo prosta - wystarczy dodać zewnętrznego zasobu (zobacz readme GitHub) i jednej linii kodu, aby zastąpić standardowy obiekt Rejestrator:

Logger = BetterLog.useSpreadsheet('your-spreadsheet-key-goes-here'); 

Pamiętaj, że spreedsheet że dajesz tutaj jako parametr zostanie użyty do wyjścia logującego, a zatem musi być zapisywalny przez każdego!

BetterLog utworzy nowy arkusz o nazwie „Log” w danym arkuszu kalkulacyjnym i zapisze każde wezwanie dziennika w oddzielnym wierszu tego arkusza.