Format ścieżki symboli NT

Próbuję używać windbg więcej i ciągle mam problemy z cache symboli. Nie jest dla mnie jasne, jaki ma być format napisu.

Mam kilka wymagań:

Archiwum symboli z naszej rozproszonej budowy na \\foo \ Build1234 nie są zorganizowane jako serwer symboli. Jeśli dobrze to Rozumiem, muszę użyć słowa kluczowego cache.

Biorąc pod uwagę te wymagania, czy wygląda to jak odpowiednio sformatowana ścieżka srvpath:

cache*\\foo\Build1234;srv*c:\dev\symbols*http://msdl.microsoft.com/download/symbols

Edit:

Właśnie zacząłem czytać zaawansowane debugowanie systemu Windows i źle zinterpretowałem, jak działa słowo kluczowe cache. Myślałem, że to sposób na powiedzenie debugerowi, że folder jest tylko folderem plików, a nie serwerem symboli. Po tym jak Michał opuścił swój komentarz, ponownie przeczytałem sekcję i widzę, że rzeczywiście działa tak, jak opisywał Michał.

Teraz jestem zdezorientowany, kiedy używasz; lub * do oddzielania ścieżek / adresów URL. I kiedy potrzebujesz prefiksu srv*. W pomocy online dla windbg podali ten przykład:

\\someshare\that\cachestar\ignores;srv*c:\mysymbols*http://msdl.microsoft.com/download/symbols;cache*c:\mysymbols;\\anothershare\that\gets\cached

Symbole z \ \ someshare nie są buforowane, symbole z Microsoft są buforowane w c:\mysymbols, oraz c:\mysymbols jest używany jako cache dla innych ścieżek po prawej stronie dyrektywy cache*.

Okazjonalne użycie srv* nie rozumiem, dlaczego pierwsza i ostatnia ścieżka nie są poprzedzone srv*.

Edytuj 2:

To powoli zaczyna mieć dla mnie sens. Dyrektywa srv jest używana dla serwerów symboli, a nie dla zwykłych katalogów symboli. Tak więc, wierzę, że odpowiedź na moje pierwotne pytanie jest taka:
\\foo\Build1234;cache*c:\dev\symbols;srv*http://msdl.microsoft.com/download/symbols
 28
Author: criddell, 2009-06-09

2 answers

SRV*C:\dev\symbols*http://msdl.microsoft.com/download/symbols;\\foo\build1234

Powinno działać poprawnie, jeśli \\foo\build1234 jest po prostu płaski. Cache nie jest tu potrzebny; wystarczy dodać katalog do swojej ścieżki symboli.

Słowo kluczowe pamięć podręczna określa, gdzie chcesz buforować pliki symboli i jest przydatne do buforowania symboli lokalnie z nieindeksowanych udziałów (np. \\foo\build1234)

cache*C:\dev\symbols;SRV*C:\dev\symbols*http://msdl.microsoft.com/download/symbols;\\foo\build1234

Powyższa ścieżka przechowywałaby symbole z serwera symboli MS i twój udział symboli na komputerze lokalnym w C:\dev\symbols.

Aby debugować problemy z symbolami za pomocą windbg, do

!sym noisy
.reload <some exe or DLL in your session>

A potem wykonaj jakąś akcję, która wymusiłaby załadowanie PDB. Zobaczysz, gdzie windbg szuka plików, a jeśli odrzuci PDB, dlaczego to zrobił.

!sym quiet

Spowoduje wyłączenie monitów o symbolach.

 36
Author: Michael,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-02 20:13:33

Oto szczegółowy post na temat debugowania problemów z ładowaniem symboli.

Wczytywanie symboli w Windbg

 3
Author: user1573932,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-11 07:39:58