Notă fișierele simboluri (
Program de fișiere de baze de date (fișier cu extensia .pdb sau PDB-fișier), de asemenea, cunoscut sub numele de fișiere simbol, atribuie identificatori create în fișierele sursă pentru clase, metode și alt cod cu dispozitive de identificare care sunt utilizate în fișierele executabile compilate ale proiectului. PPB-fișier se potrivește, de asemenea, declarațiile din codul sursă pentru a efectua instrucțiunile din fișierele executabile. Pe baza acestor date, debugger identifică două tipuri de informații critice: fișierul sursă și numărul liniei pe care este afișat în dezvoltarea Visual Studio IDE; locația fișierului executabil, care ar trebui să se oprească execuția la stabilirea unui punct de întrerupere. Simbolul fișier conține, de asemenea, locația originală a fișierelor sursă și, dacă este necesar, amplasarea sistemului de control al versiunii serverului, din care puteți extrage fișierele sursă.
Atunci când depanare proiecte în IDE Visual Studio depanatorul să știe unde să găsească fișierele sursă pentru codul de depanare PDB-fișier și. Dacă aveți nevoie pentru a depana cod în afara codului sursă al proiectului, cum ar fi codul Windows sau cod arbitrar cauzate de proiect, trebuie să specificați locația PDV-fișier (și, dacă este necesar, fișierele sursă pentru codul extern), iar aceste fișiere trebuie să se potrivească exact fișierele executabile de asamblare.
Locație specificată în DLL sau fișierul executabil.
(În mod implicit, în cazul în care un computer se face asamblarea unui DLL sau un fișier executabil, linker-ul plasează calea completă și numele PDB-fișierul asociat într-un DLL sau un fișier executabil. Debugger verifică mai întâi dacă există fișierul simbol în locația care este definită în DLL, sau într-un fișier executabil. acest lucru este util deoarece computerul are întotdeauna simbolurile pentru codul care a fost compilat pe această mașină).
PPB-fișiere, care pot fi prezente în același dosar care conține executabil sau DLL.
Toate simbol dosarul local cache.
Toate aceste servere și locația - caracter, rețea locală, sau pe Internet - cum ar fi serverul simbol Microsoft, dacă este activat.
De ce fișierele simbol trebuie să se potrivească exact fișierele executabile?
Debugger încarcă PDB-fișier pentru fișierul executabil numai dacă se potrivește exact PPB-fișier care a fost creat atunci când construirea unui fișier executabil (adică, acesta trebuie să fie original, PDB-fișier, sau o copie). În plus față de sarcina sa principală - pentru a crea un cod corect și eficient, compilatorul urmărește, de asemenea pentru a asigura viteza optimă de compilare, astfel încât structura reală a fișierului executabil se poate schimba, chiar dacă codul nu se schimbă. Pentru mai multe informații, consultați. Articolul De ce Visual Studio necesită fișiere de simbol depanator pentru a se potrivi exact fișierele binare pe care au fost construite cu? (De ce Visual Studio necesită simbolul depanator fișierele exact se potrivesc cu fișierele binare, cu care au fost construite?)
Notă amplasarea simbolurilor și a comportamentului la pornire
Atunci când depanare proiecte în debugger IDE VS încarcă automat fișierele simbol în directorul de proiect. modalități alternative de a găsi și caractere servere pentru componente Microsoft, Windows, sau componente terțe părți pot fi specificate pe pagina Instrumente / Opțiuni / debug / simboluri. Puteți specifica, de asemenea, module specifice, pentru care debugger trebuie să descarce automat simboluri. Aceste setări pot fi modificate manual, în timpul de depanare.
În seria Visual Studio vyberiteServis / Opțiuni / debug / simboluri.
Faceți clic pe pictograma dosar. În fișierele de simbol destinații de plasare (.pdb) afișează text editabil.
Pentru a îmbunătăți performanța de descărcare de caractere, în simbolurile Cache în acest director, introduceți calea către directorul local în care serverele de caractere pot copia caractere (în care caractere pot copia un director local).
Nu așezați cache-ul de caractere dintr-un folder protejat (cum ar fi C: \ Windows dosar sau unul dintre subfolderele sale). În schimb, utilizați un dosar care este permis să citească și să scrie.
Se specifică comportamentul de caractere descărcare
Puteți specifica ce fișiere în locațiile care sunt specificate în fișierele simbol Destinații de plasare (.pdb). Ar trebui să fie încărcate automat când porniți depanare. Fișierele simbol din directorul de proiect sunt întotdeauna încărcate.
Selectați toate modulele, altele decât cele excluse. pentru a descărca toate simbolurile pentru toate modulele, cu excepția celor care au fost listate atunci când selectați Se specifică modulele excluse.
Selectați numai modulele. și apoi selectați Specificarea modulelor. pentru a lista modulele pentru care doriți să le descărcați în mod automat fișierele simbol. Fișierele Simbol pentru celelalte module sunt transmise.
Specificați opțiuni suplimentare de caractere
Pe pagina Instrumente / Opțiuni / Debugging / Simboluri ale următorilor parametri pot fi setate:
Avertizează simboluri de pornire absență (cod mașină numai)
Dacă această opțiune este selectată, atunci când încercați să depana un program, pentru care nu există nici o informație simbol depanator este afișat cu o casetă de dialog de avertizare.
Load DLL exportate
Dacă această opțiune este selectată, încărcarea tabelul de export DLL. Datele de tip caracter dintr-un DLL tabele de export poate fi util atunci când se lucrează cu mesagerie pentru Windows, procedurile pentru Windows (WindowProcs), obiectele COM, cu marshaling sau atunci când se ocupă cu orice bibliotecă DLL, pentru care nu există caractere. Citirea DLL exportă datele creează o povară suplimentară. Prin urmare, această caracteristică este dezactivată în mod implicit.
Pentru a vedea ce caractere sunt disponibile în tabelul DLL de export, puteți utiliza dumpbin / comanda exporturi. Simbolurile sunt disponibile pentru orice sistem de bibliotecă DLL pe 32 de biți. puteți vedea numele exact al funcției în dumpbin / exporturi comanda de ieșire, inclusiv alte caractere decât alfanumerice. Acest lucru este util atunci când setați un punct de întrerupere într-o funcție. Numele de funcții din tabelele de export DLL pot fi afișate în depanator într-o formă prescurtată. apeluri de funcții sunt enumerate în ordinea în care aceste funcții sunt numite, funcția curentă (cel mai profund imbricate) în partea de sus. Pentru mai multe informații, consultați. În secțiunea dumpbin / exporturi.
Utilizarea serverului Simbol pentru a căuta simboluri fișiere nu sunt pe computerul local
Visual Studio poate încărca fișierele de simboluri de depanare cu servere caractere care implementează symsrv.Visual Studio Team Foundation Server de protocol și instrumente de depanare pentru Windows - două produse care pot realiza funcțiile serverului de simboluri. Simbolurile serverele utilizate sunt specificate în caseta de dialog Opțiuni Visual Studio.
Puteți utiliza următoarele caractere servere:
servere caractere în rețeaua internă sau de pe computerul local
servere simboluri terță parte
Căutați și descărcați simboluri pentru depanare
În orice moment, atunci când debugger este în modul break, puteți descărca simbolurile pentru modulul care a fost exclus anterior în parametrii care debugger sau compilatorul nu a putut găsi. Simbolurile de încărcare pot fi produse folosind fereastra meniu contextual „Call Stack“, „Module“, „local“, „vizibile“ și toate ferestrele valorilor de control. În cazul în care debugger suspendă executarea de cod, pentru care nu există fișiere simboluri sau fișierele sursă, este afișată fereastra documentului. Acolo puteți găsi informații despre fișiere lipsă, și să ia măsuri pentru a le găsi și descărca.
Caracter de căutare prin paginile de „Simbolurile nu sunt încărcate“ în fereastra documentului
Debugger poate întrerupe executarea codului, pentru care nu există caractere în rezultatul oricare dintre următoarele evenimente:
Executare pas pentru introducerea codului.
Pauză executarea de cod din cauza unui punct de întrerupere sau de excepție.
Trecerea la un alt fir.
Schimbarea stiva prin dublu-clic pe cadru din „Call Stack“.
Când oricare dintre aceste evenimente, debugger afișează pagina Simbolurile nu sunt încărcate. pentru a ajuta găsi și descărca caracterele necesare.
Pentru a schimba traseul, selectați calea care nu este selectată, sau selectați Creare și introduceți o cale nouă. Faceți clic pe Încărcare. pentru a repeta căutarea în modurile, și descărca fișierul simbol în cazul în care este găsit.
Faceți clic pe Browse pentru a poiskaimya executabil. . pentru a trece peste toate setările și caracterele repeta căutarea în piesele selectate. Dacă un fișier simbol este găsit, acesta va fi încărcat, în caz contrar apar Explorer, în cazul în care puteți selecta manual fișierul simbol.
Selectați caractere Modificați setările .... Pentru a deschide Debug / Simboluri fereastra de dialog "Options" Visual Studio.
Modificarea setărilor de caractere din meniul contextual
În modul pauză puteți găsi și descărca simbolurile pentru elementele care apar în ferestrele „Call Stack“, „Module“, „locale“, „vizibile“ în toate ferestrele de „valori de referință“. Selectați elementul din fereastra, faceți clic dreapta și selectați una dintre următoarele comenzi: