Megosztás:


A beállításjegyzék konfigurálása

A SymProxy ebben a beállításkulcsban tárolja a beállításait.

HKLM/Software/Microsoft/Symbol Server Proxy

Ez a beállításkulcs szabályozza, hogy hol találhatók a webhelyen tárolandó szimbólumok, a naplózási szint, és hogy a SymProxy a hálózathoz közvetlen kapcsolattal működik-e. Ezt a kulcsot a Windows hibakeresési eszközeivel biztosított SymProxy regisztrációs eszköz (Symproxy.reg) futtatásával hozhatja létre. Írja be symproxy.reg a parancssorba, vagy kattintson rá duplán a Windows Intézőből.

Ez hozzáadja az "x" előtaggal ellátott beállítások bejegyzéseit, hogy azok le legyenek tiltva. Ha engedélyezni szeretne egy beállítást, távolítsa el az "x" értéket a kívánt beállítás előtt.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Symbol Server Proxy]
"Available Settings"="Remove the 'x' prefix to use the setting"
"xMissAgeTimeout"=dword:00015180
"xMissAgeCheck"=dword:00000e10
"xMissTimeout"=dword:00000e10
"xNoCache"=dword:00000001
"xNoFilePointers"=dword:00000001
"xNoInternetProxy"=dword:00000001
"xNoLongerIndexedAuthoritive"=dword:00000001
"xNoUncompress"=dword:00000001
"xRequestTimeout"=dword:0000019
"xRetryAppHang"=dword:0000002
"xUriFilter"=dword:00000FF
"xUriTiers"=dword:0000001

A symproxy.reg beállításjegyzékfájl feltételezi a szimbólumok virtuális könyvtárnevét, és konfigurálja a Szimbólum elérési útját a Microsoft nyilvános szimbólumkiszolgáló használatára.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Symbol Server Proxy\Web Directories]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Symbol Server Proxy\Web Directories\Symbols]
"SymbolPath"="https://msdl.microsoft.com/download/symbols"

Az symproxy.reg eseménynaplózási bejegyzéseit a témakör Eseménynapló szakasza ismerteti.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\Microsoft-Windows-SymProxy]
"ProviderGuid"="{0876099c-a903-47ff-af14-52035bb479ef}"
"EventMessageFile"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,\
  00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,\
  5c,00,69,00,6e,00,65,00,74,00,73,00,72,00,76,00,5c,00,53,00,79,00,6d,00,50,\
  00,72,00,6f,00,78,00,79,00,2e,00,64,00,6c,00,6c,00,00,00
"TypesSupported"=dword:00000007

Az symproxy.reg webkönyvtár-bejegyzéseit ebben a témakörben tárgyaljuk.

Webkönyvtárak

A szimbólumtárolóként használt IIS-ben létrehozott összes virtuális könyvtárhoz be kell állítania egy beállításkulcsot a következő beállításkulcs webkönyvtárak alkulcsa alatt.

HKLM/Software/Microsoft/Symbol Server Proxy

Szimbólumtároló virtuális könyvtár beállításkulcsának szerkesztése

  • Szerkessze a SymbolPath tartalmát úgy, hogy tartalmazza az összes, a SymProxy szimbólumtároló által használt szimbólumtárolót. Ha egynél több szimbólumtárolót használ, különítse el őket pontosvesszővel. Minden értékhez legfeljebb 10 üzlet támogatott. A HTTP-elérési utaknak tartalmazniuk kell a https:// előtagot, az UNC elérési utaknak pedig az \\ előtagot.

Ha például az egyik virtuális könyvtár neve Szimbólumok, és az általa elért szimbólumtárolók az UNC store \\symbols\symbols és a HTTP áruházban https://msdl.microsoft.com/download/symbolstalálhatók, hozza létre a következő beállításkulcsot.

HKLM/Software/Microsoft/Symbol Server Proxy/Web Directories/Symbols

A kulcs létrehozása után szerkessze a SymbolPathot \\symbols\symbols;https://msdl.microsoft.com/download/symbols formátumban. Ez a beállításszerkesztő alábbi képernyőképén látható.

Képernyőkép a beállításszerkesztőről, amely egy frissített SymbolPathot jelenít meg.

Ebben a példában a SymProxy először a \\symbols\symbols szimbólumokban keres szimbólumokat. Ha a fájlok nem találhatók ott, a Rendszer a Microsoft Symbol Store-t használja.

  • A webkönyvtárak minden egyes, virtuális könyvtárak nevével megegyező kulcsában létre kell hozni egy SymbolPath nevű REG_SZ-t. Az érték tartalmazza a SymProxy szimbólumtároló feltöltéséhez használt összes felsőbb rétegbeli szimbólumtárolót.

  • Legfeljebb 10 bejegyzés támogatott.

  • A bejegyzéseket pontosvesszőkkel válasszuk el.

  • Az UNC-elérési utaknak tartalmazniuk kell a "\\" előtagot

  • A HTTP-útvonalaknak tartalmazniuk kell a "https://" előtagot

  • Rendelje meg az értékeket a legolcsóbbtól a legdrágábbig.

    • A számítás során ki kell egyensúlyoznia a használati teljesítmény céljait a kiszolgálói és adatkommunikációs költségekkel szemben.

    • Általában helyezze a helyi SMB/HTTP-kiszolgálókat az internetes HTTP-kiszolgálók elé.

SymProxy teljesítményszámlálók

A SymProxy képes teljesítményszámlálókat kibocsátni egy SymProxy nevű szolgáltatón keresztül.

A teljesítményszámlálók támogatásának engedélyezéséhez regisztrálja a symproxy jegyzékfájlt egy rendszergazdai parancsablakban:

C:\> lodctr.exe /m:%WINDIR%\system32\inetsrv\symproxy.man

A teljesítményszámlálók támogatásának letiltásához szüntesse meg a jegyzékregisztrációt.

C:\> unlodctr.exe /m:%WINDIR%\system32\inetsrv\symproxy.man

SymProxy Event Tracing for Windows

A SymProxy egy Microsoft-Windows-SymProxy nevű szolgáltatón keresztül hozhat létre ETW-eseményeket.

C:\> logman query providers | findstr SymProxy
Microsoft-Windows-SymProxy {0876099C-A903-47FF-AF14-52035BB479EF}

Az ETW-támogatás engedélyezéséhez regisztrálja a jegyzékfájlt:

C:\> wevtutil.exe install-manifest %WINDIR%\system32\inetsrv\symproxy.man

Az ETW-támogatás letiltásához válassza le a jegyzékfájl regisztrációját:

C:\> wevtutil.exe uninstall-manifest %WINDIR%\system32\inetsrv\symproxy.man

Eseménynapló

Ha az ETW konfigurálva van, az események eseményként lesznek rögzítve az üzemeltetési és elemzési csatornákon az Eseménynapló Alkalmazások és szolgáltatások naplói\Microsoft\Windows\SymProxy területén.

Az eseménynapló-bejegyzések üzenetének helyes megtekintéséhez hozzá kell adni az symproxy.reg fájl eseménynapló-területét a beállításjegyzékhez:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\Microsoft-Windows-SymProxy]
"ProviderGuid"="{0876099c-a903-47ff-af14-52035bb479ef}"
"EventMessageFile"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,\
  00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,\
  5c,00,69,00,6e,00,65,00,74,00,73,00,72,00,76,00,5c,00,53,00,79,00,6d,00,50,\
  00,72,00,6f,00,78,00,79,00,2e,00,64,00,6c,00,6c,00,00,00
"TypesSupported"=dword:00000007

SymProxy-események

A SymProxy a következő eseményeket naplózza:

Eseményazonosító Leírás Channel
1 Az ISAPI-szűrő kezdete Adminisztrátor
2 Az ISAPI-szűrő leállítása Adminisztrátor
3 Az ISAPI-szűrő konfigurálása Adminisztrátor
4 Gyorsítótár statisztikáinak kihagyása Adminisztrátor
10 URL-kérés – Helyi gyorsítótár találata Üzemképes
11 URL-kérés – A helyi gyorsítótár hiányzik Üzemképes
20 Szimbólum letöltése SymSrv-en keresztül Üzemképes
30 Kritikus szimbólum hiányzik Adminisztrátor
31 Kritikus kép hiányzik Adminisztrátor
40 SymSrv – Az elérési út nem található Adminisztrátor
41 SymSrv – A fájl nem található Adminisztrátor
42 SymSrv – Hozzáférés megtagadva Adminisztrátor
43 SymSrv – Túl hosszú út Adminisztrátor
49 SymSrv – Hibakód Adminisztrátor
90 A versengés zárolása Üzemképes
100 Általános kritikus üzenet Analitikus
101 Általános hibaüzenet Analitikus
102 Általános figyelmeztető üzenet Analitikus
103 Általános tájékoztató üzenet Analitikus
104 Általános elemzési üzenet Analitikus
105 Általános hibakeresési üzenet Hibakeresés

Szimbólumkiszolgáló proxy konfigurációja

A SymProxy a konfigurációs beállításait a következő beállításkulcs-területen tárolja:

HKLM/Software/Microsoft/Symbol Server Proxy

Ezen a helyen a SymProxy megszerzi a globális beállításait és a felsőbb rétegbeli szimbólumtárolók szimbólumútvonalait.

Ezt a kulcsot a korábban ismertetett módon testre szabott symproxy.reg fájl egyesítésével hozhatja létre.

Szimbólumkiszolgáló proxykulcsa

A Szimbólumkiszolgáló proxy beállításkulcsa a következő globális beállításokat támogatja (az összes REG_DWORD). A beállítások élőben is alkalmazhatók az alkalmazáskészlet újrahasznosításával. Létrejön egy új w3wp.exe folyamat, amely beolvassa az új értékeket. Ha a régi w3wp.exe folyamat összes függőben lévő kérése befejeződött, a régi w3wp.exe folyamat véget ér. Az IIS alapértelmezés szerint 1740 percenként (29 óránként) újrahasznosítja w3wp.exe folyamatokat.

REG_DWORD Leírás
NoInternetProxy

Szolgáltatásként való futtatáskor SymSrv.dll a WinInet helyett a WinHTTP-t használja HTTP-kérések igényléséhez. Következésképpen előfordulhat, hogy HTTP-proxybeállításokat kell beállítania, hogy a szolgáltatás hozzáférhessen a hálózati erőforrásokon kívülre. Ezt a netsh programmal teheti meg. Írja be a következőt: "netsh.exe winhttp -?" útmutatásokért.

Alapértelmezés szerint a SymProxy a kijelölt HTTP-proxyt használja. Ha nincs HTTP-proxy konfigurálva, a SymProxy egy próbaproxyt fog használni. Ez lehetővé teszi a HTTP-webhelyek biztonságos elérését az intraneten belül. Mellékhatásként ez megakadályozza, hogy a SymProxy közvetlenül csatlakozzon a nem biztonságos helyekhez.

  • Meghatározatlan – (alapértelmezett) Letiltva – Proxy használata
  • 0 – Letiltva
  • 1+ – Engedélyezve

NoFilePointers

Alapértelmezés szerint a nem létező szimbólumok esetében a SymProxy egy file.ptr fájlt keres a kért fájl mellett (a helyi gyorsítótárban). Ha megtalálta, a fájl.ptr fájl által megadott helyet adja vissza. Ez a képesség csak akkor szükséges, ha a helyi gyorsítótárat SymStore.exetölti ki.

  • Nincs megadva - (alapértelmezett) - Letiltva - a fájl.ptr fájlok keresése/olvasása
  • 0 – Letiltva
  • 1+ – Engedélyezve

NoUncompress

Alapértelmezés szerint a SymProxy kibontja a letöltött szimbólumokat, mielőtt visszaküldené a fájlt a hívónak. Ez csökkenti az ügyfél processzorhasználatát, de növeli az I/O-t.

  • Meghatározatlan – (alapértelmezett) Letiltva – Dekompresszió történik
  • 0 – Letiltva
  • 1+ – Engedélyezve

NoCache

Alapértelmezés szerint a SymProxy gyorsítótárazza a letöltött szimbólumokat a helyi fájlrendszerben, amelyet a virtuális könyvtár elérési útja határoz meg.

  • Meghatározatlan – (alapértelmezett) Kikapcsolva – Gyorsítótárazás megtörténik
  • 0 – Letiltva
  • 1+ – Engedélyezve

MissTimeout

Időtúllépési időszak másodpercben, amelynél a hiányzó szimbólumok hiányzóként jelennek meg a felsőbb rétegbeli szimbólumkiszolgálók ismételt lekérdezése nélkül.

A kihagyás utc-alapú időponthoz van társítva. A fájlra vonatkozó későbbi kérelmeket a rendszer azonnal elutasítja N másodpercre.

A fájl N másodperc utáni első kérése miatt a felsőbb réteg szimbólumtárolói újra lekérdezhetők.

Sikeresség esetén a rendszer visszaadja a szimbólumfájlt, és törli a hiányzó fájlt.

Sikertelenség esetén az elmulasztott kísérlet időpontját az aktuális időpontra (UTC) állítják, hogy új időtúllépési periódus kezdődjön.

A "Miss Cache" teljesítményszámlálókkal figyelheti a hibákat.

  • Meghatározatlan – (alapértelmezett) 300 másodperc/5 perc
  • 0 – A funkció le van tiltva
  • N – Az időtúllépés N másodpercig tart

MissAgeCheck

A Miss Age-ellenőrzések közötti időszak. A miss cache be van vizsgálva, és a MissAgeTimeout másodpercnél régebbi rekordok törlődnek.

Az aktuális statisztikákat a rendszer a 4. eseményazonosítóval menti az eseménynaplóba.

  • Meghatározatlan - (alapértelmezett) 3600 másodperc / 1 óra
  • 0 – A funkció le van tiltva
  • N – Az ellenőrzések közötti időszak N másodpercben

MissAgeTimeout

Az egyes Miss Cache-bejegyzések időtúllépésének törlése. A bejegyzés törlésre kerül, mert az adott időszakban nem érkezett rá kérés.

  • Meghatározatlan - (alapértelmezett) 86400 másodperc / 1 nap
  • 0 – A funkció le van tiltva
  • N – Bejegyzések időtúllépése N másodpercben

NoLongerIndexedAuthoritive

Ha engedélyezve van, a NoLongerIndexed fájl.ptr válasza minden szimbólumtárolóban mérve lesz.

Ezzel elkerülheti a (szükségtelen) hívásokat olyan kiszolgálókra, amelyek nem indexelik a fájlt.

  • Meghatározatlan – (alapértelmezett) Letiltva
  • 0 – Letiltva
  • 1+ – Engedélyezve

RetryAppHang

Engedélyezze az újrapróbálkozás engedélyezését a felsőbb rétegbeli HTTP-szimbólumtárolókba. Ez egyenértékű a SymSrv SSRVOPT_RETRY_APP_HANG (0x80000000) beállítással.

Ha egy 0x80070512/HRESULT_FROM_WIN32(ERROR_APP_HANG) hibakódot kap a "Symbol-Agent-Status" HTTP-válaszfejlécen keresztül egy felsőbb rétegbeli HTTP Symbol Store-ból, a szoftvercsatorna nyitva marad, a GET pedig "N" időpontig ismétlődik.

A SymProxy több kérést is kér ugyanahhoz az URI-hoz. Ha egy függőben lévő kérés eléri a 25 másodpercet, a SymProxy egy "Symbol-Agent-Status" HTTP-válaszfejlécen keresztül adja vissza a 0x80070512 a hívónak, de a háttérben folytatja a műveletet.

Az ügyfelek engedélyezzék a SSRVOPT_RETRY_APP_HANG opciót a SymSrv-ben, hogy a (különösen) hosszú kérések támogatottak legyenek – lényegében az újrapróbálkozást magasabb szinten láncolva.

A SymProxy alapértelmezés szerint 25 másodpercre csökkenti a válasz időtúllépését, így a rendszer még azelőtt választ ad, hogy a szoftvercsatorna bezárul a (alapértelmezett) 30 másodperces időtúllépésnél, amelyet a SymSrv a HTTP Szimbólumtárolókhoz használ. A SymSrv későbbi verziói a "Symbol-Agent-Receive-Timeout" HTTP-kérelemfejlécen keresztül küldik el a konfigurált HTTP-időtúllépési értéket (mSec-ben). Ha ez a HTTP-kérelemfejléc meg van adva, a rendszer ezt az értéket használja a 25 másodperces alapértelmezett érték helyett.

  • Meghatározatlan – (alapértelmezett) Letiltva
  • 0 – Letiltva
  • N – Újrapróbálkozási kísérletek

UriFilter

URI-szűrés engedélyezése. Ez egyenértékű a SymSrv SSRVOPT_URI_FILTER (0x20000000) beállítással.

Az URI-szűrés csökkenti az összes felsőbb rétegbeli szimbólumtárolóra irányuló kérések sokféleségét. Az értékek egy bitmaszkot alkotnak.

HTTP – SSRVURI_HTTP_MASK (0x0F)

  • 0x01 - SSRVURI_HTTP_NORMAL - például http://symbols/.../foo.pdb
  • 0x02 - SSRVURI_HTTP_COMPRESSED - pl. http://symbols/.../foo.pd_
  • 0x04 - SSRVURI_HTTP_FILEPTR - pl. http://symbols/.../file.ptr

UNC – SSRVURI_UNC_MASK (0xF0)

  • 0x10 – SSRVURI_UNC_NORMAL – pl. \\MyServer\Symbols\...\foo.pdb
  • 0x20 – SSRVURI_UNC_COMPRESSED – pl. \\MyServer\Symbols\...\foo.pd_
  • 0x40 – SSRVURI_UNC_FILEPTR – pl. \\MyServer\Symbols\...\file.ptr

UriTiers

URI-szintek engedélyezése. Ez egyenértékű a SymSrv SSRVOPT_URI_TIERS (0x40000000) beállítással.

Az URI-szintek kényszerítik az összes felsőbb réteg szimbólumtárolója által használt rétegsémát. Ha nincs beállítva, további kérésre van szükség a séma meghatározásához. A gyökérben a "index2.txt" megléte kétrétegű elrendezést jelez.

Az egyszintes üzletek formátuma: /widget.dll/<index>/widget.dll|widget.dl_|file.ptr

A két rétegből álló üzletek formátuma: /wi/widget.dll/<index>/widget.dll|widget.dl_|file.ptr

  • Meghatározatlan – (alapértelmezett) Letiltva
  • 0 – Kikapcsolva
  • 1 – 1 rétegű szimbólumtárolók
  • 2 – Kétrétegű szimbólumtárolók

Külső hálózati erőforrások elérése

Ha a SymSrvet a SymProxyval együtt használják, az szolgáltatásként fut, és a WinHTTP API-t használja a szimbólumok HTTP-kapcsolaton keresztüli eléréséhez. Ez eltér a WinInet e célra való használatának szokásos viselkedésétől.

Ezért előfordulhat, hogy HTTP-proxybeállításokat kell beállítania, hogy ez a szolgáltatás hozzáférhessen a hálózati erőforrásokon kívüli erőforrásokhoz. A beállítások konfigurálásához használja az alábbi módszerek egyikét:

  • Használja a Netsh eszközt (netsh.exe). Útmutatásért írja be a következőt egy parancssori ablakban:

    netsh winhttp -? 
    

A SymProxy alapértelmezett viselkedése az, hogy bármilyen HTTP-proxyt használ, amelyet a ProxyCfg vagy a Netsh jelöl ki. Ha nincs HTTP-proxy konfigurálva, a SymProxy egy próbaproxyval teszi lehetővé a biztonságos HTTP-webhelyek elérését az intraneten belül. Mellékhatásként ez a technika megakadályozza, hogy a SymProxy közvetlen kapcsolatot létesítsen a külső internettel. Ha engedélyezni szeretné, hogy a SymProxy közvetlen internetkapcsolattal működjön, hozzon létre egy noInternetProxy nevű REG_DWORD értéket a beállításjegyzék szimbólumkiszolgáló proxykulcsában . Állítsa a NoInternetProxy értékét 1 értékre, és ellenőrizze, hogy nincs-e a ProxyCfg által jelzett HTTP-proxy.