Vzdálené ladění pomocí Charles Proxy

Nejobtížnější částí podpory televizních aplikací, když jste je nevytvořili a nemáte přístup ke zdrojovému kódu, je jejich ladění, když jste požádáni o pomoc. Je to téměř nespravedlivý požadavek - "nedáme vám přístup k úpravě kódu, ale chceme, abyste odpověděli." Editace vzdáleného kódu je utrpení...ale díky Charlesovi je tato praxe mnohem jednodušší. Charles mi umožňuje zachycovat volání vzdálených souborů CSS a JavaScript a nahradit mé vlastní, což umožňuje nekonečně snazší ladění vzdáleného kódu, ke kterému nemám přístup.

Charles je nabitý funkcemi, až to začíná být matoucí. Doufám, že vám to zjednoduším; v tomto příspěvku vás provedu výměnou souborů za účelem vzdáleného ladění webových aplikací.

Charles je placená aplikace, která poskytuje 30denní zkušební verzi. Nedostal jsem zaplaceno, ani jsem nebyl požádán, abych Charlese podpořil; je to nástroj, který používám pro vzdálené ladění, takže jsem se rozhodl o něm napsat.

Charles může dělat téměř všechno, ale omezíme tento příspěvek na řešení jednoho častého problému: vyměníme vzdálený soubor za místní soubor, který můžeme nahradit, a umožní nám tak úplnou kontrolu nad jeho obsahem a umožní nám opravte všechny problémy!

Vzdálené ladění

Chcete-li vyměnit vzdálený soubor za místní soubor, prvním krokem je použití nabídky Charles a výběr Tools>Map RemoteNastavení vzdáleného přístupu mapy zobrazí se okno se seznamem dálkových ovladačů, které jste definovali; chcete-li jeden přidat, klikněte na tlačítko „Přidat“ a zobrazí se následující obrazovka:

Horní blok je pro nastavení vzdáleného souboru a druhý blok je pro vaše místní nastavení nahrazování. To znamená, že váš soubor musí být „poskytován“ (ne pomocí file:// protokol); můžete použít Python nebo Node.js ke snadnému obsluhování adresáře. Za předpokladu, že soubor poskytujete, nejprve zadáte nastavení vzdálené adresy URL a poté místní nastavení. Zde je příklad:

Snímek obrazovky výše ukazuje, jak nahrazuji produkční MDN .js soubor s místním souborem. Chcete-li zajistit, že se používá místní soubor, umístěte speciální console.log volání v horní části souboru a ujistěte se, že zpráva je v konzole.

Toto je jen jedna z jednodušších funkcí, které Charles poskytuje, ale hodně mi to usnadnilo život. Ladění vzdálených aplikací se po zadání několika pravidel do Charlese změnilo z nemožného na snadné. Pokud máte dobrou metodu, jak toho dosáhnout bez Charlese, rád bych to věděl, prosím sdílejte!