Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 36247|Atbildi: 2

[Avots] vs Kas un kāpēc tiek ģenerēti .pdb faili

[Kopēt saiti]
Publicēts 16.01.2018 15:43:04 | | |
Kam paredzēts PDB fails?

PDB faili: kas jāzina katram izstrādātājam

PBP scenārija piemērs:

.net/c# log4net kļūdas izņēmums neieraksta rindas numura cēloni
http://www.itsvse.com/thread-3928-1-1.html
(Avots: Arhitekts)


Kas ir PDB fails?

Lielākajai daļai izstrādātāju jāzina, ka PDB faili tiek izmantoti, lai palīdzētu programmatūras atkļūdošanai. Bet kā tieši viņš darbojas, mēs, iespējams, neesam pazīstami. Šajā rakstā ir aprakstīta PDB failu glabāšana un saturs. Tajā arī aprakstīts, kā atkļūdotājs atrod PDB failu, kas atbilst binay, un kā atkļūdotājs atrod avota koda failu, kas atbilst binay. Šis raksts ir paredzēts visiem vietējiem un pārvaldītajiem izstrādātājiem.

Pirms sākam, definēsim divus terminus: privāta būve, ko izmanto, lai apzīmētu izstrādātāja datorā ģenerētu būvējumu; publiskā būvēšana, kas nozīmē būvējumu, kas ģenerēts publiskā būvēšanas mašīnā. privātā būvniecība ir salīdzinoši vienkārša, jo PDB un binay atrodas vienā vietā, un parasti problēmas, kas mums ir, ir saistītas ar publisko būvniecību.  

Vissvarīgākais, kas jāzina visiem izstrādātājiem, ir tas, ka "PDB faili ir tikpat svarīgi kā avota kods", bez kura jūs pat nevarat atkļūdot. Publiskai būvēšanai simbolu serverim ir jāglabā visi PDB, un tad, kad lietotājs ziņo par kļūdu, atkļūdotājs var automātiski atrast atbilstošo PDB failu binay, un gan Visual Studio, gan Windbg zina, kā piekļūt simbolu serverim. Pirms PDB un binay glabāšanas simbolu serverī, jums ir nepieciešams arī avota indekss PDB palaist, kas ir saistīt PDB un avotu.  

Nākamajā daļā tiek pieņemts, ka simbolu serveris un avota servera indeksēšana jau ir iestatīti. TFS2010 var izdarīt tikpat vienkārši kā avota indeksēšanu un simbolu servera kopēšanu jaunai būvei.

2) PDB faila saturs

Oficiāli sākot PDB saturu, PDB nav publiski pieejams faila formāts, bet Microsoft nodrošina API, lai palīdzētu iegūt datus no PDB.

Vietējais C++ PDB satur šādu informāciju:
* publiskās, privātās un statiskās funkciju adreses;
* Globālā mainīgā nosaukums un adrese;
* Parametru un vietējo mainīgo nosaukumi un nobīdes uz steka;
* klases, struktūras un datu tipa definīcijas;
* Kadra rādītāja izlaišanas dati, lai šķērsotu vietējo steku x86;
* Nosaukums un rindu skaits avota koda failā;

.NET PDB satur tikai 2 informācijas daļas:
* Avota koda faila nosaukums un rindu skaits;
* un vietējā mainīgā nosaukums;
* Visi pārējie dati jau ir iekļauti . NET metadati;  





Iepriekšējo:Visual Studio pievieno Vim jaudīgās rediģēšanas iespējas, lai to būtu grūti novērst!
Nākamo:SQL Server pasta sūtīšana, izmantojot datu bāzes (sp_send_dbmail)
Publicēts 16.01.2018 15:44:18 |
 Saimnieks| Publicēts 08.12.2022 21:44:33 |
VS 2022 izveido projektu, lai ģenerētu .pdb failu
https://www.itsvse.com/thread-10397-1-1.html
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com