Nie ma to jak zaszyć ścieżkę w kodzie...

Jak wiecie do testów aplikacji webowych używam głównie Fiddlera. Oczywiście korzystam też z innych narzędzi, choćby Burpa, ale jakoś Fiddler wciąż wydaje mi się najwygodniejszy przy analizie/porównywaniu/wyszukiwaniu w zapisanych sesjach. Nawet gdy korzystam z Burpa, to często puszczam go przez Fiddlera (lub przez FiddlerCap do późniejszej analizy), bo tak mi wygodniej.

Od pewnego czasu, czyli od kiedy korzystam z Windows 8, Fiddler przestał mi się prawidłowo zamykać. GUI znikało, ale proces wisiał sobie w najlepsze i oczywiście zajmował również port, w związku z czym ponowne uruchomienie kończyło się błędem (informacja o zajętości portu).

Przez długi czas ignorowałem ten problem i po prostu dobijałem proces, ale w końcu postanowiłem zobaczyć w czym rzecz. Podejrzewałem, że problemem jest jakieś rozszerzenie, typowałem na winnego swój plugin. Okazało się jednak, że winny jest ktoś inny, konkretnie plugin x5s. Problemem są takie dwie linie:

TextWriter w = new StreamWriter(myDoc + @”\My Documents\Fiddler2\Scripts\” + fileName); TextReader r = new StreamReader(myDoc + @”\My Documents\Fiddler2\Scripts\” + fileName);

W Windows 8 nie ma katalogu My Documents, został zastąpiony przez Documents, więc zapisanie ustawień przy wyjściu kończy się niepowodzeniem i całość wisi. Zastosowałem szybką poprawkę polegającą na stworzeniu hardlinku z My Documents do Documents (narzędzie mklink) i irytujący problem ustąpił.

Oryginał tego wpisu dostępny jest pod adresem Nie ma to jak zaszyć ścieżkę w kodzie...

Autor: Paweł Goleń