Microsoft windows debugging symbols Ρ‡Ρ‚ΠΎ это

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ символов

Π€Π°ΠΉΠ»Ρ‹ диспСтчСра аудиосТатия (ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚)

Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ (. com)

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния

Π€Π°ΠΉΠ»Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ динамичСской ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ (.dll)

Π€Π°ΠΉΠ»Ρ‹ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² (. drv)

Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ (.exe)

Π€Π°ΠΉΠ»Ρ‹ заставки экрана

Π€Π°ΠΉΠ»Ρ‹ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² (.sys)

Π€Π°ΠΉΠ»Ρ‹ символов содСрТат Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ фактичСски Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ запускС Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π² процСссС ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ„Π°ΠΉΠ»Ρ‹ символов ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ:

ИмСна Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ адрСса ΠΈΡ… Ρ‚ΠΎΡ‡Π΅ΠΊ Π²Ρ…ΠΎΠ΄Π°

Записи ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΠ΅ указатСля Ρ„Ρ€Π΅ΠΉΠΌΠ° (FPO)

НомСра строк исходного ΠΊΠΎΠ΄Π°

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих элСмСнтов называСтся, ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, символом. НапримСр, ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» символов MyProgram. PDB ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ нСсколько сотСн символов, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΠΈΠΌΠ΅Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ сотни Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Часто ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π²Ρ‹ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Π΄Π²Π΅ вСрсии ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° символов: ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» символов, содСрТащий общСдоступныС символы ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ символы, ΠΈ сокращСнный Ρ„Π°ΠΉΠ», содСрТащий Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ символы. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ символы.

ΠŸΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ символов, связанным с Ρ†Π΅Π»Π΅Π²Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ выполняСтся ΠΎΡ‚Π»Π°Π΄ΠΊΠ°. Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ Π΄Π°ΠΌΠΏΠ° Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ символы. НСобходимо ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ символы для ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ, ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ эти символы Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ.

Windows символы

Windows сохраняСт свои символы Π² Ρ„Π°ΠΉΠ»Π°Ρ… с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ pdb.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ символов. ΠšΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊ Visual C++ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ всС символы Π² PDB-Ρ„Π°ΠΉΠ»Ρ‹.

Windowsная опСрационная систСма Π±Ρ‹Π»Π° построСна Π² Π΄Π²ΡƒΡ… вСрсиях. БСсплатная сборка (ΠΈΠ»ΠΈ ΠžΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ сборка) ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСбольшиС Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° провСрСнная сборка (ΠΈΠ»ΠΈ отладочная сборка) содСрТит большиС Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ символами ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π² самом ΠΊΠΎΠ΄Π΅. ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ сборки Π±Ρ‹Π»ΠΈ доступны Π² Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΡ… вСрсиях Windows Π΄ΠΎ Windows 10 вСрсии 1803. КаТдая ΠΈΠ· этих сборок ΠΈΠΌΠ΅Π»Π° свои собствСнныС Ρ„Π°ΠΉΠ»Ρ‹ символов. ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π° Windows Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ сборкС Windows Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅.

Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ пСрСчислСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² стандартном Windows Π΄Π΅Ρ€Π΅Π²Π΅ символов.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

символы для Windows ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ (WinDbg, KD, CDB, NTSD)

Π€Π°ΠΉΠ»Ρ‹ символов содСрТат Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ фактичСски Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ запускС Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π² процСссС ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ имя, Ρ‚ΠΈΠΏ (Ссли ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ), адрСс ΠΈΠ»ΠΈ рСгистр, Π³Π΄Π΅ ΠΎΠ½ хранится, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π»ΡŽΠ±Ρ‹Π΅ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΈΠ»ΠΈ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ символы. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ символов Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅), Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π»ΡŽΠ±ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ Π²Ρ…ΠΎΠ΄Π° Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ.

ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ свСдСния ΠΎ символах ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² символов, располоТСнных Π² локальной Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС ΠΈΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… с ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ сСрвСра символов. ΠŸΡ€ΠΈ использовании сСрвСра символов ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ автоматичСски ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Ρ„Π°ΠΉΠ»Π° символов для сопоставлСния модуля Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅.

символы для ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠ² Windows (WinDbg, KD, CDB ΠΈ NTSD) доступны Π½Π° общСдоступном сСрвСрС символов Ρ‡Π΅Ρ€Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚.

Если Π²Ρ‹ выполняСтС ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π²Π°ΠΌ понадобятся символы для Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ прилоТСния. Ссли Π²Ρ‹ выполняСтС ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ядра, Π²Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ символы для ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Windows ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ символы.

Π’ этих Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ символам Π²ΠΎ врСмя сСанса ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΊΠ°ΠΊ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ символов ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌΠΈ символами.

Π’ этих Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ символы, Π° Ρ‚Π°ΠΊΠΆΠ΅ описываСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° WinDbg для пСрСносимых символов PDB.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с символами см. Π½Π° этих страницах.

Ссли Π²Ρ‹ просто Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ для доступа ΠΊ символам для собствСнных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ для Windows, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Π½Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π²Π²ΠΎΠ΄Π½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ ΠΏΡƒΡ‚ΡŒ ΠΊ символам ΠΈ общСдоступный сСрвСр символов майкрософт. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «USE ! SYM ΡˆΡƒΠΌΠ½Ρ‹ΠΉ «, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ символов для устранСния Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ с символами.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

РусскиС Π‘Π»ΠΎΠ³ΠΈ

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Windbg Debugging Tool для Windows

прСдисловиС

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ

Windbg, прСдоставлСнный ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²Π΅Π±-сайтом Microsoft, являСтся вСрсиСй Windows 10, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ Win 7. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Windbg ΠΏΠΎΠ΄ Win7, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· Windows SDK.//www.microsoft.com/downloads/en/details.aspx?FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b&displaylang=en

Если вас Π½Π΅ интСрСсуСт Π΄Ρ€ΡƒΠ³ΠΎΠ΅ содСрТимоС Windows SDK, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Windbg.

Microsoft windows debugging symbols Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Microsoft windows debugging symbols Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Microsoft windows debugging symbols Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Microsoft windows debugging symbols Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Microsoft windows debugging symbols Ρ‡Ρ‚ΠΎ это

ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ установки Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Windbg Π² строкС мСню Windows ΠŸΡƒΡΠΊ.

Установка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΉ. Если ΠΎΠ½Π° Π½Π΅ ΡƒΠ΄Π°Π»Π°ΡΡŒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ПанСль управлСния \ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ \ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ » Microsoft Visual C++ 2010 Redistributable Π£Π΄Π°Π»ΠΈΡ‚Π΅, установка ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.

ΠŸΠ΅Ρ€Π΅Π΄ использованиСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ

Для Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ядра, поТалуйста, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ:

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π’Π°Π±Π»ΠΈΡ†Π° символов Π² Windows ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ символы. НапримСр, простой Ρ„Π°ΠΉΠ» символов Myprogram.pdb ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ сотни Ρ‚Π°Π±Π»ΠΈΡ† символов. Π’ΠΎΠΎΠ±Ρ‰Π΅ говоря, ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π²Ρ‹ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Π΄Π²Π΅ вСрсии Ρ„Π°ΠΉΠ»Π° символов: ΠΎΠ΄Π½Π° прСдставляСт собой ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» символов, содСрТащий всС ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ символы ΠΈ частныС символы, Π° другая прСдставляСт собой ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Ρ„Π°ΠΉΠ»Π°, которая содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ символы.

ΠŸΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ†Π΅Π»ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Для Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ Π΄Π°ΠΌΠΏΠ° ΠΏΡ€ΠΈ сбоС Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ символы.

Буффикс Windows pdb сохраняСт символы, Π° vs сохраняСт всС символы Π² Ρ„Π°ΠΉΠ»Π°Ρ… pdb.

Настройка символов являСтся слоТной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, особСнно для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ядра. Часто трСбуСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ Π·Π½Π°Π»ΠΈ всС названия ΠΈ выпуски Π²Π°ΡˆΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ². ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π°ΠΉΡ‚ΠΈ Ρ„Π°ΠΉΠ» символов ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°.

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт Microsoft Π±ΠΎΠ»Π΅Π΅ эвфСмичСн ΠΈ Π½Π΅ прост Π² ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ. Π’ΠΎΡ‚ простой ΠΌΠ΅Ρ‚ΠΎΠ΄ настройки.

Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ сообщаСт WinDbg, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΉ Ρ„Π°ΠΉΠ» символов хранится Π² ΠΏΠ°ΠΏΠΊΠ΅ c: \ mysymbol. На самом Π΄Π΅Π»Π΅ Π² Π½Π΅ΠΌ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅Ρ‚, Π΄Π°ΠΆΠ΅ эта ΠΏΠ°ΠΏΠΊΠ° Π½Π΅ сущСствуСт, Π½ΠΎ это Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния. Если систСма Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ Π΅Π΅, ΠΎΠ½Π° создаст Π΅Π΅ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ Π²Ρ‹ΡˆΠ΅ URL-адрСсу. ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» символов Π² Π½Π΅ΠΌ.

ПослС ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Ссли Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» mysymbol Π½Π° дискС C ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚Π΅ exe-Ρ„Π°ΠΉΠ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ windbg, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Symbol search path is: SRV*c:\mysymbol* http://msdl.microsoft.com/download/symbolsПодсказка ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ конфигурация ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ПослС выполнСния этого шага, Ссли Π²Ρ‹ снова запуститС VS, VS ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ срСды _NT_SYMBOL_PATH ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΈΠ· Π½Π΅Π΅ символ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌΡƒ запуску ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ VS. РСкомСндуСтся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ _NT_SYMBOL_PATH Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅ имя, ΠΊΠΎΠ³Π΄Π° Windbg Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΡ‚Π»Π°Π΄ΠΊΠΎΠΉ Π² β€‹β€‹ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅

ΠžΡ‚Π»Π°Π΄ΠΊΠ° вашСй собствСнной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ‹ написали ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ

(1) Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Visual studio 2015 для создания Helloworld.exe Π² x64 ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Helloworld.pdb.

(2) Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Helloworld.pdb Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ символов (ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ:Π’Π°Π±Π»ΠΈΡ†Π° символов конфигурации)。

(3) ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Helloworld.exe ΠΈ Helloworld.cpp с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ windbg.

Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ввСсти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

БрСдства установки Ρ‚ΠΎΡ‡ΠΊΠΈ останова Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ HelloWorld

First chance exceptions are reported before any exception handling.

This exception may be expected and handled.

00000001`3f2a16d3 f7bd28010000 idiv eax,dword ptr [rbp+128h] ss:00000000`0014f648=00000000

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка дСлСния Π½Π° 0.

Π‘ΡƒΠ΄Π΅Ρ‚ сгруппирован Π°Π½Π°Π»ΠΈΠ· ошибок.

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ условиСм для этого Ρ€Π°Π·Π΄Π΅Π»Π° являСтся настройка символа (ссылка:Π’Π°Π±Π»ΠΈΡ†Π° символов конфигурации)。

Microsoft windows debugging symbols Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Microsoft windows debugging symbols Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Microsoft windows debugging symbols Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Microsoft windows debugging symbols Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Microsoft windows debugging symbols Ρ‡Ρ‚ΠΎ это

Найти всС с WinMain согласованиС symbols 。

Π’Ρ‹ΡˆΠ΅ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠΉΡ‚ΠΈ 0 Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ прогрСсс ΠΈ просмотр трассировки стСка

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΡ‚Π»Π°Π΄ΠΊΠ° с использованиСм символов

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ прСдставлСн ΠΎΠ±Ρ‰ΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ символы Π² процСссС ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Π’ Π½Π΅ΠΌ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сСрвСр символов ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ собствСнный частный сСрвСр символов. Π­Ρ‚ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π΄Π°ΠΆΠ΅ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° всС символы ΠΈ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹, связанныС с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, Π½Π΅ находятся Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ доступСн ряд Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² символов. К Π½ΠΈΠΌ относятся Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ CodeView символы, COFF, DBG, SYM, PDB ΠΈ Π΄Π°ΠΆΠ΅ экспорт символов, созданных ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ экспорта Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². Π’ этом тСхничСском Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ VS.NET ΠΈ символы Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° PDB, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ самыми послСдними ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ. Они ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Visual Studio.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ PDB-Ρ„Π°ΠΉΠ»ΠΎΠ² для исполняСмых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² выпуска Π½Π΅ влияСт Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ измСняСт Ρ€Π°Π·ΠΌΠ΅Ρ€ создаваСмых Ρ„Π°ΠΉΠ»ΠΎΠ². Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, СдинствСнным ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ являСтся ΠΏΡƒΡ‚ΡŒ, Π° имя Ρ„Π°ΠΉΠ»Π° PDB-Ρ„Π°ΠΉΠ»Π° внСдряСтся Π² исполняСмый Ρ„Π°ΠΉΠ». По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ слСдуСт всСгда ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ PDB-Ρ„Π°ΠΉΠ»Ρ‹, Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈΡ… вмСстС с исполняСмым Ρ„Π°ΠΉΠ»ΠΎΠΌ.

PDB-Ρ„Π°ΠΉΠ»Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ, Ссли ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ строится с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° компилятора /Zi ΠΈΠ»ΠΈ /Zi (созданиС свСдСний ΠΎ PDB), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠ° /Debug (созданиС ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ). PDB-Ρ„Π°ΠΉΠ»Ρ‹, созданныС компилятором, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» PDB, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ размСщаСтся Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Ρ‡Ρ‚ΠΎ ΠΈ исполняСмый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ PDB-Ρ„Π°ΠΉΠ»Ρ‹ содСрТат ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ свСдСния:

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΡ‡ΠΈΡ‰Π΅Π½Π½Ρ‹Π΅ PDB-Ρ„Π°ΠΉΠ»Ρ‹ содСрТат ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ свСдСния:

Π­Ρ‚ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ свСдСния, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для обСспСчСния Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Минимальная информация Ρ‚Π°ΠΊΠΆΠ΅ затрудняСт ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… свСдСний ΠΎ исходном ΠΊΠΎΠ΄Π΅. Π’Π°ΠΊ ΠΊΠ°ΠΊ создаСтся ΠΈ ΠΎΡ‡ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ PDB-Ρ„Π°ΠΉΠ», ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ PDB-Ρ„Π°ΠΉΠ», ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ возмоТности ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Π½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ PDB ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ /PDBSTRIPPED создаСт Π²Ρ‚ΠΎΡ€ΠΎΠΉ, мСньший PDB-Ρ„Π°ΠΉΠ», поэтому ΠΏΡ€ΠΈ создании сборок для ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ распрСдСлСния слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ PDB-Ρ„Π°ΠΉΠ». Для Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° обычная PDB-Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π² нСсколько ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚, Π½ΠΎ удалСнная вСрсия PDB ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ всСго нСсколько сотСн ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚.

ИспользованиС символов для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ

ΠŸΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ прилоТСния, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» сбой, ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ пытаСтся ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π² стСкС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ ΠΊ сбою. Π‘Π΅Π· Ρ„Π°ΠΉΠ»Π° PDB ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈΠ»ΠΈ Π»ΡŽΠ±Ρ‹Π΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ Π² стСкС. ΠŸΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ 32-разрядных исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ситуации, ΠΊΠΎΠ³Π΄Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ трассировки стСка Π±Π΅Π· символов. Иногда ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ значСния Π² стСкС ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ значСния ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ адрСса, Π½ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΏΡƒΡ‚Π°ΡŽΡ‚ со ссылками Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Если Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ стСкС скомпилированы с использованиСм ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° Ρ„Ρ€Π΅ΠΉΠΌΡ‹ (/Oy), ΠΈ Ссли символы ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚, ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, какая функция Π²Ρ‹Π·Π²Π°Π»Π° Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π±Π΅Π· свСдСний ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ указатСля ΠΊΠ°Π΄Ρ€ΠΎΠ² (FPO), содСрТащихся Π² PDB, ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° рСгистр указатСля ΠΊΠ°Π΄Ρ€Π° (EBP), ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π° сохранСнный ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΊΠ°Π΄Ρ€ ΠΈ Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ адрСс Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ВмСсто этого ΠΎΠ½ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ. Иногда ΠΎΠ½ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΎ. Однако ΠΎΠ½ часто ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡŽ. Если отобраТаСтся ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… символах ΠΈΠ»ΠΈ символы Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Π½Π΅ слСдуСт Π΄ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ стСку с этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°.

Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ Π±Π΅Π· символов, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° находится Π² располоТСнии с Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌΠΈ символами, ΠΈ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² стСкС Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². Π”Π°ΠΆΠ΅ Ссли Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅, находящихся Π² стСкС Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², Π½Π΅Ρ‚ доступных PDB-Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ скомпилированы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° Ρ„Ρ€Π΅ΠΉΠΌΡ‹, ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… функциях. начиная с вСрсии Windows XP с ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ обновлСния 2 (sp2) всС Windows DLL ΠΈ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ FPO, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°Π΅Ρ‚ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΠΉ. ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ FPO Ρ‚Π°ΠΊΠΆΠ΅ позволяСт ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ стСку Π²ΠΎ врСмя выполнСния с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ влияниСм Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π² вСрсиях Windows Π΄ΠΎ Windows XP с ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ обновлСния 2 (SP2) для всСх Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ символов, содСрТащиС свСдСния ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

ΠŸΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ 64-разрядных ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π΅ трСбуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ символов для создания ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… трассировок стСка, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ опСрационная систСма ΠΈ компиляторы x64 Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΈΡ…. Однако ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹ символов для получСния ΠΈΠΌΠ΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Однако Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ случаи особСнно слоТны для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π±Π΅Π· символов. НапримСр, Ссли выполняСтся ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π» создан PDB-Ρ„Π°ΠΉΠ», ΠΈ ΠΏΡ€ΠΈ сбоС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ DLL, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ символы, Π²Ρ‹ Π½Π΅ смоТСтС ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, какая функция Π²Ρ‹Π·Ρ‹Π²Π°Π»Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹ Π½Π΅ смоТСтС Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ стСк. Π­Ρ‚ΠΎ часто происходит Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… сторонних ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ, Ссли PDB Π½Π΅ прСдоставлСны ΠΈΠ»ΠΈ Π² старых ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Ссли PDB нСдоступны. ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ часто происходят Π²ΠΎ врСмя ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ сообщСния, пСрСчислСния, выдСлСния памяти ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ. ΠžΡ‚Π»Π°Π΄ΠΊΠ° этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π±Π΅Π· Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ стСка ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ нСприятной.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… символов

РасполоТСниС, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ DLL ΠΈΠ»ΠΈ Π² исполняСмом Ρ„Π°ΠΉΠ»Π΅.

Если Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π±Ρ‹Π»Π° создана Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° DLL ΠΈΠ»ΠΈ исполняСмый Ρ„Π°ΠΉΠ», ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊ помСстит ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΈ имя Ρ„Π°ΠΉΠ»Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ PDB-Ρ„Π°ΠΉΠ»Π° Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ DLL ΠΈΠ»ΠΈ исполняСмый Ρ„Π°ΠΉΠ». ΠŸΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ сначала провСряСт, сущСствуСт Π»ΠΈ Ρ„Π°ΠΉΠ» символов Π² располоТСнии, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ DLL ΠΈΠ»ΠΈ Π² исполняСмом Ρ„Π°ΠΉΠ»Π΅. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρƒ вас всСгда Π΅ΡΡ‚ΡŒ символы, доступныС для ΠΊΠΎΠ΄Π°, скомпилированного Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

PDB, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ DLL ΠΈΠ»ΠΈ исполняСмым Ρ„Π°ΠΉΠ»ΠΎΠΌ.

ВсС ΠΏΠ°ΠΏΠΊΠΈ локального кэша символов.

Π›ΡŽΠ±Ρ‹Π΅ сСрвСры символов локальной сСтСвой ΠΏΠ°ΠΏΠΊΠΈ.

Π›ΡŽΠ±Ρ‹Π΅ сСрвСры символов Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Microsoft Symbol Server.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ всСх PDB, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для Ρ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, установитС срСдства ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ для Windows. Π‘ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ вСрсии 32 ΠΈ 64 ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² срСдствах ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ для Windows.

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ срСдством, устанавливаСмым с этим ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ, являСтся symchk.exe. Он ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π΅Π²Π΅Ρ€Π½Ρ‹Π΅ символы. Π­Ρ‚ΠΎ срСдство ΠΈΠΌΠ΅Π΅Ρ‚ большоС количСство Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π΄Π²Π΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ….

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ /s. ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ симчк ΠΈΡΠΊΠ°Ρ‚ΡŒ символы Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅, Π° Π½Π΅ Π½Π° сСрвСрах символов.

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ всС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ DLL ΠΈ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ Π² Π½Π°Π±ΠΎΡ€Π΅ ΠΏΠ°ΠΏΠΎΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ PDB

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ симчк

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»ΡƒΠΆΠ΅Π±Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ DUMPBIN, ΠΏΠΎΡΡ‚Π°Π²Π»ΡΠ΅ΠΌΡƒΡŽ вмСстС с VS.NET, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΠΈ ΠΊ символам, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… выполняСтся поиск, ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ Π»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ символов, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ DLL ΠΈΠ»ΠΈ исполняСмому Ρ„Π°ΠΉΠ»Ρƒ. НапримСр:

Π‘Π΅Ρ€Π²Π΅Ρ€Ρ‹ символов

Π‘Π΅Ρ€Π²Π΅Ρ€ символов β€” это Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… вСрсий исполняСмого Ρ„Π°ΠΉΠ»Π° ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² символов. Он содСрТит Π»ΠΈΠ±ΠΎ сами Ρ„Π°ΠΉΠ»Ρ‹ символов, Π»ΠΈΠ±ΠΎ ссылки Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ символов. ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сСрвСры символов ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… для поиска ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠ»ΠΈ нСизвСстных символов.

DLL ΠΈ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ доступны Π½Π° сСрвСрС символов ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚. Π­Ρ‚ΠΎ позволяСт ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ сбои ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΊΠΎΠ΄ для Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Если ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚ исполняСмый Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ DLL, которая Π½Π΅ сущСствуСт Π² систСмС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΎΠ½Π° автоматичСски Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ символы, Ρ‚Π°ΠΊ ΠΈ копию Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π½Π° сСрвСрах символов ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ вСрсий, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ msvcrt.dll, ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ для вСрсии, которая Π½Π΅ сущСствуСт Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ Мини-Π΄Π°ΠΌΠΏΡ‹, созданныС Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΎΡ‚ систСмы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

ΠšΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΡ ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚ всС PDB-Ρ„Π°ΠΉΠ»Ρ‹ для всСх ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… пСрСраспрСдСлСнных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΏΠ°ΠΊΠ΅Ρ‚ SDK DirectX, Π½Π° внСшнСм доступном сСрвСрС символов. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ прилоТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ эти Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ DLL ΠΈΠ»ΠΈ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹. Π‘Π΅Ρ€Π²Π΅Ρ€ символов ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ символов вмСстС с Π»ΡŽΠ±Ρ‹ΠΌΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ символами для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², созданных Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

МоТно Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ для использования сСрвСра символов ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт доступ ΠΊΠΎ всСм Ρ„Π°ΠΉΠ»Π°ΠΌ символов ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚. МоТно Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ частный сСрвСр символов для вашСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈΠ»ΠΈ сСти, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для хранСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΡ… вСрсий ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅, ΠΈΠ»ΠΈ для прСдоставлСния локального кэша для символов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π½Π° сСрвСрС символов ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚.

Когда ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ выполняСт поиск символов, ΠΎΠ½ сначала выполняСт поиск Π² локальной срСдС. Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½ выполняСт поиск Π½Π° сСрвСрах символов. ΠŸΡ€ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ символа ΠΎΠ½ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» символов Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ кэш. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ для Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ DLL ΠΈΠ»ΠΈ исполняСмого Ρ„Π°ΠΉΠ»Π°, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… составляСт ΠΎΡ‚ 1 Π΄ΠΎ 100 ΠœΠ‘. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ процСсса, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ мноТСство Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ DLL, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ всСх символов ΠΈ ΠΈΡ… пСрСмСщСния Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ кэш.

ИспользованиС сСрвСра символов ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚

Доступ ΠΊ сСрвСру символов ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… способов.

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ адрСс сСрвСра Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π² Visual Studio Π² мСню сСрвис Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Π·Π°Ρ‚Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ ΠΎΡ‚Π»Π°Π΄ΠΊΠ°, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ символы.

Π­Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ всСми срСдствами ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Visual Studio ΠΈ считываСтся ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Visual Studio. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Visual Studio.

Π­Ρ‚Π° пСрСмСнная срСды позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ нСсколько сСрвСров символов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ частный сСрвСр символов. Он Ρ‚Π°ΠΊΠΆΠ΅ позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ локального кэша для хранСния PDB-Ρ„Π°ΠΉΠ»ΠΎΠ² для всСх символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΈΡ‰Π΅Ρ‚Π΅ Π½Π° сСрвСрах символов β€” ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ, Ρ‚Π°ΠΊ ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚.

Для _ _ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡƒΡ‚ΠΈ ΠΊ символам NT ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис _ :

Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ [ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ кэш ] ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π³Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ кэш Π»ΡŽΠ±Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… символов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€% systemroot% \ SYMBOLS ΠΈΠ»ΠΈ c: \ SYMBOLS.

[Частный сСрвСр символов ] являСтся Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ. Он ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° сСрвСр символов, располоТСнный Π² сСти, ΠΈΠ»ΠΈ Π½Π° сСрвСр символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ вашСй ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сСрвСр символов ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚ вмСстС с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ кэшСм символов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ доступ Ρ‡Π΅Ρ€Π΅Π· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ для _ _ ΠΏΡƒΡ‚ΠΈ ΠΊ символам NT _ :

Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для _ _ ΠΏΡƒΡ‚ΠΈ ΠΊ символам NT ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ _ Π² Ρ„Π°ΠΉΠ»Π΅ справки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ устанавливаСтся вмСстС с ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ срСдств ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Microsoft для Windows.

Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π±Π΅Π· символов ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя, Π·Π°Ρ‚Ρ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ Π½Π° запуск ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ сСрвСр символов. Π­Ρ‚ΠΎ происходит ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ сСрвСр символов ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ». По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π»ΡƒΡ‡ΡˆΠ΅ всСгда Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ символы для всСх ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

ΠœΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ символы для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΈΠ΄Π΅ΠΎΠ΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ DLL Π² пространствС процСсса, Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ PDB-Ρ„Π°ΠΉΠ»Ρ‹ доступны Π½Π° сСрвСрС символов ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚. Π’ этом случаС ΠΏΡ€ΠΈ запускС сСанса ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ нСбольшая Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ нСбольшой Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС символы локально с сСрвСра символов ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚. Π—Π°Ρ‚Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ _ _ символам NT, _ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ сСрвСр символов ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚. Если исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ, для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… символов, запрос Ρ‡Π΅Ρ€Π΅Π· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π½Π΅ потрСбуСтся, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρƒ вас Π΅ΡΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ всСх символов, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π½Π° сСрвСрС символов ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ символов Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ

Если ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ настроСн ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΎΠ½ автоматичСски Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ символы ΠΈΠ· локального кэша ΠΈΠ»ΠΈ с сСрвСра символов. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ символы Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ исполняСмого Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ для ΠΏΠ°ΠΏΠΊΠΈ исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ симчк. Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ символы для _ Ρ„Π°ΠΉΠ»Π° d3dx930.dll Π² систСмной ΠΏΠ°ΠΏΠΊΠ΅ Windows Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

БрСдство симчк ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ. Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ симчк/? ΠΈΠ»ΠΈ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ срСдствам ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Microsoft для Windows.

Настройка сСрвСра символов

Настройка сСрвСра символов ΠΎΡ‡Π΅Π½ΡŒ проста. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ.

Настройка сСрвСра символов Π² собствСнной локальной сСти β€” это просто созданиС ΠΎΠ±Ρ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ Π½Π° сСрвСрС ΠΈ прСдоставлСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΏΠΎΠ»Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π½Π° доступ ΠΊ ΠΎΠ±Ρ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅ для создания Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ. эта общая ΠΏΠ°ΠΏΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ создана Π² сСрвСрной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Windows server 2003, Ρ‡Ρ‚ΠΎΠ±Ρ‹ количСство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π½Π΅ΠΉ, Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ.

НапримСр, Ссли Π²Ρ‹ настроили ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ Π½Π° \ \ mainserver- \ символах, Ρ‡Π»Π΅Π½Ρ‹ вашСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ настроили _ _ ΠΏΡƒΡ‚ΡŒ ΠΊ символам NT _ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

По ΠΌΠ΅Ρ€Π΅ извлСчСния символов Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² \ \ \ ΠΎΠ±Ρ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ mainserver Symbols, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΡΡˆΠ°Ρ… Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ c: \ SYMBOLS.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это всС, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для настройки ΠΈ использования собствСнного сСрвСра символов ΠΈΠ»ΠΈ сСрвСра символов ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ символов Π½Π° сСрвСр символов

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΎΠ±Ρ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅ сСрвСра символов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ срСдство symstore.exe. это срСдство являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΠ°ΠΊΠ΅Ρ‚Π° срСдств ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Microsoft для Windows. полная докумСнтация ΠΏΠΎ сСрвСрам символов, срСдству symstore ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ символов Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² ΠΏΠ°ΠΊΠ΅Ρ‚ срСдств ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ для Windows ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

Π’Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ символы нСпосрСдствСнно Π½Π° собствСнный сСрвСр символов Π² Ρ€Π°ΠΌΠΊΠ°Ρ… процСсса сборки ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ символы доступными для всСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈΠ»ΠΈ срСдств сторонних Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². ΠŸΡ€ΠΎΡ†Π΅ΡΡ добавлСния символа Π² Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ рСсурс сСрвСра символов называСтся индСксированиСм символов. БущСствуСт Π΄Π²Π° распространСнных способа индСксирования символов. Π€Π°ΠΉΠ» символов ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° сСрвСр символов. Или ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° располоТСниС символа ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° сСрвСр символов. Если Ρƒ вас Π΅ΡΡ‚ΡŒ архивная ΠΏΠ°ΠΏΠΊΠ°, содСрТащая старыС сборки, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° PDB-Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ находятся Π² ΠΎΠ±Ρ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅, вмСсто дублирования символов. Π’Π°ΠΊ ΠΊΠ°ΠΊ символы ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ дСсятками ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚, рСкомСндуСтся Π·Π°Ρ€Π°Π½Π΅Π΅ ΡΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ объСм пространства, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Π°Ρ€Ρ…ΠΈΠ²Π°Ρ†ΠΈΠΈ всСх сборок ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Ρ…ΠΎΠ΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠŸΡ€ΠΈ индСксировании Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° символы ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ старых сборок ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ±Ρ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ.

НапримСр, для рСкурсивного индСксирования всСх символов Π² c: \ дкссим \ Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ \ символы, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° SDK DirectX Π·Π° ΠžΠΊΡ‚ΡΠ±Ρ€ΡŒ 2006, Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ рСсурс сСрвСра символов, ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌΡ‹ΠΉ \ \ \ символами mainserver, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ /t «Comment» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для добавлСния описания Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, которая Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° символы. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ административных Π·Π°Π΄Π°Ρ‡ с символами.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ символы

Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎ всСму ΠΏΡ€ΠΎΡ‡Π΅ΠΌΡƒ, изрядныС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ освоСнии Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ оптимизация ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ компилятор ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊ, ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ запутывая ΠΈ раздувая ΠΊΠΎΠ΄. ЕдинствСнноС, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ³Π»ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ Π² своС врСмя рСвСрсивныС ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹, это ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π² дизассСмблированном листингС собствСнныС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ этот самый листинг Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‚Π΅ΠΌ самым Ρ…ΠΎΡ‚ΡŒ ΠΊΠ°ΠΊ-Ρ‚ΠΎ «ΠΎΠΆΠΈΠ²ΠΈΠ²» исходный ΠΊΠΎΠ΄. ВСроятно, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ ΠΈΠ· этапов Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π±Ρ‹Π»ΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΡΡ‚ΠΎΠ»ΡŒ Π½Π΅Π»Π΅Π³ΠΊΠΈΠΉ процСсс ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π΅Π½Π΄ΠΎΡ€Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Π½Π°Ρ‡Π°Π»ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹ΠΌΠΈ символами, для систСмных Ρ„Π°ΠΉΠ»ΠΎΠ² своих ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ². НС стала ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈ корпорация Microsoft, поэтому Π΄Π°Π½Π½ΠΎΠ΅ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ упростило процСсс ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Windows.

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ Π² Ρ…ΠΎΠ΄Π΅ ΡˆΡ‚Π°Ρ‚Π½ΠΎΠ³ΠΎ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½ΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π² процСссС Π΅Ρ‘ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Π›ΡŽΠ΄ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎ Π½Π°ΡΠ»Ρ‹ΡˆΠΊΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ компилятор, конвСртируя исходный ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, выбрасываСт ΠΈΠΌΠ΅Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Π² ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅ΠΌΡΡ исполняСмом ΠΌΠΎΠ΄ΡƒΠ»Π΅ Π’Ρ‹ Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠΌΠ΅Π½. ЕдинствСнный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ связь ΠΌΠ΅ΠΆΠ΄Ρƒ адрСсами ΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, это ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Ρ… символов. Однако ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ символы, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ созданы лишь ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΡ†ΠΈΠΉ компиляции.
Если ΠΏΠΎΡΡΠ½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½ΠΎΠ΅ понятиС простым языком, Ρ‚ΠΎ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ символы Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ (Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ ΠΏΠΎ названию), для удобства ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΊΠΎΠ΄Π°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ с Ρ†Π΅Π»ΡŒΡŽ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎ Π² структурС ΠΈΠ·ΡƒΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ прилоТСния. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС, Π² Ρ„Π°ΠΉΠ»Π΅ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Ρ… символов хранятся:

ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΏΠΎ адрСсу памяти Π»Π΅Π³ΠΊΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠ΅ΠΌΡƒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ адрСсу. Π”Π° ΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ эта информация позволяСт Π²ΠΈΠ΄Π΅Ρ‚ΡŒ «ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅» Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ± исслСдуСмом Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, Ρ‡Ρ‚ΠΎ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ исслСдованиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° прилоТСния Π² процСссС статичСского дизассСмблирования Π»ΠΈΠ±ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΊΠΎΠ΄Π° Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π° Π½Π΅ Π±Π΅Π·Π»ΠΈΠΊΠΈΡ… ячССк памяти. ΠžΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ символы часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² процСссС поиска ошибок Π² исходном ΠΊΠΎΠ΄Π΅, ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° ΠΎΡ‚ΠΊΠ°Π·Π°Ρ…. По ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ размСщСния отладочная информация ΠΌΠΎΠΆΠ΅Ρ‚:

Π­Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ΄ собой достаточно ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΠΎΠ΄ΠΎΠΏΠ»Π΅ΠΊΡƒ, вСдь ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ символы ТСстко привязаны ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ исходному ΠΊΠΎΠ΄Ρƒ, ΠΈ Ссли Π² исходном ΠΊΠΎΠ΄Π΅ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ мСняСтся (строка, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°, пСрСмСнная), Ρ‚ΠΎ староС соотвСтствиС пСрСстаСт Π±Ρ‹Ρ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ трСбуСтся ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² точности соотвСтствуСт ΡƒΠΆΠ΅ Π½ΠΎΠ²ΠΎΠΌΡƒ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΌΡƒ исходному ΠΊΠΎΠ΄Ρƒ. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° стоит ΡƒΡ‡Π΅ΡΡ‚ΡŒ ΠΈ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ любоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½ΡƒΡŽ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„Π°ΠΉΠ»ΠΎΠ² символов ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ, поэтому Ρ„Π°ΠΉΠ»Ρ‹ символов ΠΈ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½ΡƒΠΆΠ½ΠΎ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния исслСдоватСля Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ»Ρ‹ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Ρ… символов ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ сборкС (build), поэтому процСсс обновлСния систСмы Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ обновлСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Ρ… символов, относящихся ΠΊ систСмным модулям. Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ достаточно ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ процСсс запроса символов, Π΄Π°Π±Ρ‹ Π½Π΅ ΠΎΡ‚Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒΡΡ Π½Π° Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ.

НуТны Π»ΠΈ символы

ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ WinDbg ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Microsoft ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° автоматичСский запрос ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Ссли Π² Π½Π΅ΠΉ Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Ρ€Π°Π· основной вопрос, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я Ρ…ΠΎΡ‚Π΅Π» сам сСбС ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ, Π½ΡƒΠΆΠ½Ρ‹ Π»ΠΈ эти самыС ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ символы ΠΈΠ»ΠΈ Π½Π΅Ρ‚? Π― ΠΏΡ€ΠΎΠ²Π΅Π» ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ экспСримСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ состоял Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ я нашСл завалявшийся Ρƒ мСня Π½Π° тСстовой станции Π΄Π°ΠΌΠΏ падСния Π² синий экран (BSOD) ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ» Π΅Π³ΠΎ сначала Π² WinDbg с доступными символами, Π° Π·Π°Ρ‚Π΅ΠΌ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ WinDbg Π±Π΅Π· символов, ΠΈ Π²ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Microsoft windows debugging symbols Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Microsoft windows debugging symbols Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Microsoft windows debugging symbols Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Microsoft windows debugging symbols Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Microsoft windows debugging symbols Ρ‡Ρ‚ΠΎ это

ЧСстно говоря, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ мСня ΡƒΠ΄ΠΈΠ²ΠΈΠ». На ΠΌΠΎΠΌΠ΅Π½Ρ‚ ошибки ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ довольно ΡΠΊΡƒΠ΄Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ сбоС, Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°ΠΊ адрСс возникновСния ошибки ΠΈ стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° падСния. ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ пытаСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ автоматичСский Ρ€Π°Π·Π±ΠΎΡ€ стСка, ΠΈ Ρ‡Ρ‚ΠΎ ΠΆΠ΅ получаСтся, ΠΌΠ°Π»ΠΎ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΏΡ€ΠΈ отсутствии ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Ρ… символов Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π° ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚Π°ΠΊ ΠΎΠ½ Π΅Ρ‰Π΅ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ трассировку стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° падСния. Π’Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π±Π΅Π· символов становится практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ (Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях) ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈ Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ослоТняСтся ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π²Ρ‹Π·Π²Π°Π» ΠΎΡˆΠΈΠ±ΠΊΡƒ. ИмСнно Ρ‚Π°ΠΊ! Всё Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ сказанноС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ для ситуации с 32-Π±ΠΈΡ‚Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ:

Microsoft windows debugging symbols Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Microsoft windows debugging symbols Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Microsoft windows debugging symbols Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Microsoft windows debugging symbols Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Microsoft windows debugging symbols Ρ‡Ρ‚ΠΎ это

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‚ΡƒΡ‚ ΠΌΠΎΠΆΠ½ΠΎ особо Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ практичСски всС ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ листинг справа Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ «Ρ‡ΠΈΡ‚Π°Π±Π΅Π»Π΅Π½», Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ мСстС исходного ΠΊΠΎΠ΄Π°. Π’ ΠΈΡ‚ΠΎΠ³Π΅, становится ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ:

РаспространСниС

ΠŸΠΎΠ½ΡΡ‚Π½ΠΎΠ΅ Π΄Π΅Π»ΠΎ, Ρ‡Ρ‚ΠΎ Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ символы ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ, Ρ‚ΠΎ ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΈΠΌΠ΅Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ (ΠΏΡ€ΠΈ остром Π½Π° Ρ‚ΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅) этот самый ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² случаС возникновСния ошибок ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ быстро Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΡƒΡŽ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ возникновСния. Каким ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ символы ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ своСй Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΠΈ? Π”ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΡ€ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ стояла Π·Π°Π΄Π°Ρ‡Π° прСдоставлСния ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Ρ… символов своим ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для своих ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π½Π° оптичСских носитСлях, дисках CD/DVD. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π½Π΅ стала ΠΈ опСрационная систСма Windows, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒΡΡ с ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹ΠΌΠΈ символами, Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹ΠΌΠΈ Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ дискС дистрибутива, Π»ΠΈΠ±ΠΎ Π² составС Driver Development Kit ( DDK ). Однако, с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ популярным стал ΠΌΠ΅Ρ‚ΠΎΠ΄ распространСния символов Ρ‡Π΅Ρ€Π΅Π· ΡΠ΅Ρ‚ΡŒ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. Π’ сСти для этой Ρ†Π΅Π»ΠΈ Microsoft Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ собствСнныС сСрвСра символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ символы, ΠΎΠ΄Π½Π°ΠΊΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с сСрвСром символов, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ спСциализированный ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΎΠ±ΠΌΠ΅Π½Π°.

ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΈ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ (частныС) символы

ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ символы, Ρ‚Π°ΠΊ ΠΆΠ΅, Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ, Ρ‚ΠΈΠΏΠ°ΠΌ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΠ½ΠΈ содСрТат достаточно ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ для ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Ρ… сцСнариСв, Ρ‡Ρ‚ΠΎ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ являСтся достаточным. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡƒΡ‚Π΅ΡˆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄:

Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, распространяСмыС ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠ΅ΠΉ Microsoft (посрСдством сСрвСров символов), Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΠΈΡ… Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ этому, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния (Mozilla) Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ (ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ символы ΠΈ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ символы). ΠŸΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ (ΠΏΠΎΠ»Π½Ρ‹Π΅, Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅) символы (private symbols) содСрТат Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΉ Π² сСбя ΠΏΡƒΡ‚ΡŒ ΠΈ Π½ΠΎΠΌΠ΅Ρ€Π° строк исходного ΠΊΠΎΠ΄Π°, ΠΈΠΌΠ΅Π½Π° ΠΈ Ρ‚ΠΈΠΏΡ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΈ Ссли ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ ΠΈ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ символы с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния процСсса ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Ρ‚ΠΎ послСдниС Π΄Π΅Π»Π°ΡŽΡ‚ Π΅Π³ΠΎ слСгка слоТнСС, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ достаточны для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° сцСнариСв ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Π‘Π΅Ρ€Π²Π΅Ρ€ символов Microsoft

МногиС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠ΅ΠΉ Microsoft, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ»Ρ‹, входящиС Π² состав ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, офисных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ вмСстС с символами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‚Π΅ΠΌ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· сСрвСр символов Microsoft (Microsoft Symbol Server). Π‘Π΅Ρ€Π²Π΅Ρ€ символов прСдставляСт собой ΠΎΠ½Π»Π°ΠΉΠ½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Ρ… символов для ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Microsoft, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ доступСн для запроса посрСдством ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° HTTP ΠΏΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ-Π½Π΅ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ (URL):

Π€ΠΎΡ€ΠΌΠ°Ρ‚ PDB

Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ символы стали массово вострСбованы сообщСством спСциалистов, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΠ»ΠΈΡΡŒ созданиСм Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± исходных Ρ„Π°ΠΉΠ»Π°Ρ… Π² модулях символов. Π’ связи с Ρ‡Π΅ΠΌ, Π² ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅ появились всСвозмоТныС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ записи символов. Нас ΠΆΠ΅, Π² контСкстС Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ, ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ хранСния символов для ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Microsoft.
Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС, символы ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдоставлСны Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…:

Однако ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ лишь Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ PDB, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся самым соврСмСнным, соотвСтствСнно ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… срСдств Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡ‚ Microsoft.
ВсС Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ PDB Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ:

PDB Ρ„Π°ΠΉΠ» слуТит для:

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *