Обърнете внимание на символите файлове (
програма на файла на базата данни (файл с разширение ППБ или PDB-файл), известен също като файлове на символите, възлага идентификатори, създадени в изходните файлове за класове, методи и друг код с идентификатори, които се използват в компилирани изпълними файлове на проекта. PDB-файл и на заявките за твърденията в изходния код за изпълнение на инструкциите в изпълними файлове. Въз основа на тези данни, дебъгер идентифицира два вида важна информация: изходния файл и номер на ред, който се показва в развитието на Visual Studio IDE; местоположението на изпълнимия файл, който трябва да спре изпълнението при определянето на точката на прекъсване. символ файл съдържа първоначалното местоположение на изходните файлове и ако е необходимо, местоположението на системата за контрол на версията на сървъра, от които можете да извлечете файловете източници.
Когато отстраняване на грешки проекти в IDE Visual Studio дебъгер да знаете къде да намерите PDB-файл и изходните файлове за отстраняване на грешки код. Ако трябва да отстраняване на грешки код извън изходния код на проекта, като например Windows код или произволен код, причинени от проекта, трябва да посочите местоположението на PDV-файла (и, ако е необходимо, изходните файлове за външен код), както и тези файлове трябва да съвпадат точно за монтаж на изпълними файлове.
Местоположение посочено в DLL или изпълним файл.
(По подразбиране, ако компютърът се прави сглобяване на DLL или изпълним файл, свръзката поставя пълния път и името на свързаните с PDB-файл в DLL или изпълним файл. Debugger първо проверява дали съществува файл, символ на мястото, което е определено в DLL, или в един изпълним файл. това е полезно, тъй като компютърът винаги има символи за кода, който е съставен на тази машина).
ППБ-файлове, които могат да присъстват в същата папка, която съдържа изпълнимия файл или DLL.
Всички местен символ кеш папка.
Всички тези сървъри и място характер - местна, мрежа или интернет - като например сървър Microsoft символ, ако е разрешена.
Защо файлове символи трябва да съответстват точно на изпълнимите файлове?
Дебъгера зарежда PDB-файл за изпълнимия файл, само ако отговаря точно на PDB-файл, който е създаден, когато изграждането на изпълним файл (това означава, че трябва да бъде или оригинален PDB-файл или копие). В допълнение към основната си задача - да се създаде правилен и ефективен код, компилаторът се стреми също така да се осигури оптимална скорост на компилация, така че реалната структура на изпълнимия файл може да се промени, дори ако кодът не се променя. За повече информация, вижте. Член Защо Visual Studio изискват Debugger файлове на символите, за да съответстват точно на двоичните файлове, че те са били построени с? (Защо Visual Studio изисква символ дебъгер файлове точно да съответства на двоичните файлове, с която са построени?)
Обърнете внимание на разположението на символите и поведението при стартиране
Когато отстраняване на грешки проекти в дебъгер IDE VS автоматично зарежда символните файлове в директорията на проекта. Алтернативни начини за намиране и герои сървъри за компоненти на Microsoft, Windows, или компоненти на трета страна могат да се задават на страницата Инструменти / Настройки / изчистване на грешки / символи. Можете също да укажете конкретни модули, за които дебъгер трябва автоматично да свалят символи. Тези настройки могат да се променят ръчно по време на отстраняване на грешки.
В Visual Studio серия vyberiteServis / Опции / изчистване на грешки / символи.
Кликнете върху иконата на папка. В файлове разположения символи (ППБ) показва редактиране на текст.
За да се подобри ефективността на изтегляне от символи, в символи на кеша в тази директория, въведете пътя към локалната директория, в която герои сървъри могат да копират героите (в която героите могат да копират локална папка).
Не поставяйте на кеш паметта на героите в защитена папка (като C: \ Windows папка или на някой от нейните подпапки). Вместо това, използвайте папка, която е позволено да чете и пише.
Посочете поведението на мишката на героите
Можете да определите кои файлове в местата, които са посочени във файловете на разположения на символи (ППБ). Вие трябва да се зареждат автоматично при стартиране на отстраняване на грешки. символни файлове в директорията на проекта винаги са заредени.
Изберете всички модули, различни от тези, изключени. да изтеглите всички символи за всички модули, с изключение на тези, които са били включени, когато изберете Посочете изключените модули.
Изберете само модулите. и след това изберете Посочете модули. да се изброят на модулите, за които искате да изтеглите автоматично символните файлове. Символ на файлове при другите модули са преминали.
Посочете допълнителни опции характер
могат да се задават на страницата Инструменти / Опции / грешки / Символи на следните параметри:
Предупредете символи отсъствие стартиране (машинен код само)
Ако е избрана тази опция, когато се опитате да трасира програма, за когото няма информация дебъгер символ се появява диалогов с предупреждение кутия.
Заредете изнесени DLL
Ако тази опция е избрана, зареждане таблицата с DLL износ. символни данни от DLL износ маси могат да бъдат полезни при работа с посланията на Windows, Windows процедури (WindowProcs), на COM обекти, с marshaling или когато се работи с всяка DLL библиотека, за които не съществуват знаци. Четене на DLL изнася данните създава допълнителна тежест. Ето защо, тази функция е изключена по подразбиране.
За да видите кои символи са на разположение в таблицата с DLL износ, можете да използвате dumpbin / износ команда. Символи са на разположение за всяка система, DLL библиотека 32-битова. можете да видите точното име на функцията в dumpbin / износ команда продукция, включително и символи, различни от букви и цифри. Това е полезно, когато зададете точка на прекъсване във функция. Функционални имена от износ таблици DLL могат да бъдат показани в дебъгер в съкратен вид. Функционални разговори са изброени в реда, в който се наричат тези функции, текущата функция (най-дълбоко загнездени) в горната част. За повече информация, вижте. В dumpbin раздел / износ.
Използването на сървъра на символите, за да търсят символи файлове не са на локалния компютър
Visual Studio може да се зареди за отстраняване на грешки символ файлове с герои сървъри, които прилагат symsrv.Visual Studio Team Foundation протокол сървър и отстраняване на грешки инструменти за Windows - два продукта, които могат да реализират функциите на сървъра на символи. Символи, използвани сървъри са посочени в диалоговия прозорец Опции Студио за визуална.
Можете да използвате следните знаци сървъри:
знака на сървърите в вътрешната мрежа или на локалния компютър
символи сървъри на трети страни
Търсене и изтегляне на символи за отстраняване на грешки
По всяко време, когато дебъгер е в режим на почивка, можете да изтеглите от символите за модула, който преди това е бил изключен в параметрите, които дебъгер или компилаторът не може да намери. Заредете символи могат да бъдат произведени с помощта на контекстното меню прозорец "Call Stack", "Модули", "Местни", "Видима" и всички прозорци на контролните стойности. Ако дебъгер спира изпълнението на код, за които няма знаци файлове или изходни файлове, се показва прозореца на документа. Там можете да намерите информация за липсващи файлове, както и да предприеме действия, за да ги намерите и изтеглите.
Герой Търсене чрез страниците на "Символите не са заредени" в прозореца на документа
Дебъгера може да прекъсне изпълнението на кода, за които не съществуват символи в резултат от някое от следните събития:
Изпълнение стъпка за въвеждане на кода.
Пауза изпълнение на код дължи на прекъсване или изключение.
Преминаване към друга нишка.
Промяна на стека с двойно кликване върху рамката на "Call Stack".
Когато някое от тези събития, дебъгер отваря страницата с Символи не са заредени. да помогне за намиране и изтегляне на необходимите знаци.
За да промените пътя, изберете път, който не е избран, или Създаване и въвеждане на нов път. Кликнете върху Качване. да повторите търсенето в пътищата, и изтеглете файла символ, ако се установи.
Щракнете върху Преглед, за да poiskaimya изпълним. , да се преодолеят всички настройки и герои повторите търсенето в избраните пистите. Ако не се намери файл символ, той ще бъде натоварен, в противен случай се появяват Explorer, където можете да изберете ръчно файла за символ.
Изберете знака Промяна на настройките .... За да отворите Debug / Символи диалоговия прозорец "Опции" Visual Studio.
Промяна на настройките на героите от контекстното меню
В режим на почивка, можете да намерите и изтеглите от символите на елементите, които се появяват в прозорците "Call Stack", "Модули", "Местни", "виждат" през всички прозорци на "референтни стойности". Изберете елемента в прозореца, щракнете с десния бутон и изберете една от следните команди: