aspose.info
TR

PDB Dosya Biçimi - Bir Program Veritabanı Dosyası

Güncellendi

Bir PDB dosyası nedir?

.pdb uzantılı bir dosya, derlenmiş bir yürütülebilir dosya (EXE/DLL) için hata ayıklama bilgileri içeren bir program veritabanı dosyasıdır. PDB dosyaları, bir uygulama programı hata ayıklama modunda derlendiğinde Microsoft Compilers tarafından oluşturulur. PDB dosyasının varlığı, modüllerin tüm sembolleri hakkında önemli bilgiler içerdiğinden yürütülebilir bir dosyanın tersine mühendislik işlemine yardımcı olabilir. Bu nedenle bu dosyalar son yürütülebilir dosyadan ayrı tutulur. Microsoft’un DgbHelp API’si, ortaklar ve dışa aktarmalar, genel semboller, yerel semboller gibi bilgileri elde etmek için bir PDB dosyası açabilir. veri, kaynak dosyaları ve satır numaralarını yazın.

PDB Dosya Biçimi

PDB, Microsoft’un tescilli dosya biçimidir ve henüz hiçbir yerde resmi olarak belgelenmemiştir. Ancak, bir başlangıç belgesi burada mevcuttur ve başvurulabilir.

PDB Akışları

PDB dosyaları, her akışın sanal bir bağımsız dosya gibi davrandığı ve bilgi içerdiği birden çok akıştan oluşur. PDB dosya yazarları bu dosyalara yazabilir ve dosya yalnızca açık bir taahhüt verildikten sonra sonlandırılır. Bir derleyici, bir PDB dosyasına yazmaya devam edebilir, ancak yalnızca tüm kullanıcı kodu başarıyla derlenirse taahhütte bulunabilir. Bir PDB dosyası aşağıdaki akışlardan oluşur:

Akış No.İçindekilerKısa Açıklama
1Pdb (başlık)Sürüm bilgisi ve bu PDB’yi EXE’ye bağlamak için bilgi
2Tpi (Tip yöneticisi)Yürütülebilir dosyada kullanılan tüm türler.
3Dbi (Hata ayıklama bilgisi)Bölüm katkılarını ve ‘Modlar’ listesini tutar
4İsim HaritasıKarma bir dize tablosu tutar
4-(n+4)n Mod’lar (Modül bilgisi)Her Mod akışı, bir derleme alanı için sembolleri ve satır numaralarını tutar
n+4Global sembol hashİsme göre global sembollerde arama yapmaya izin veren bir indeks
n+5Genel sembol hashGenel sembollerde adreslere göre arama yapılmasını sağlayan bir dizin
n+6Sembol kayıtlarıGlobal ve genel sembollerin gerçek sembol kayıtları
n+7Hash yazınTPI akışı tarafından kullanılan karma.

Bir PDB dosyasındaki her akış, mutlaka ardışık olarak numaralandırılmayan birkaç sayfadan oluşur.

PDB başlığı

Bir PDB dosyası, belirli biçimi tanımlamak ve doğrulamak için bir imzadan oluşan bir Başlığa sahiptir. İmzanın uzunluğu PDB formatına bağlıdır. Başlık, tek bir sayfadan daha uzun olabilir.

PDB Meta Verileri

PDB meta verileri, her akış için sayfaların uzunluğunu ve sırasını vererek tüm bileşen akışlarını tanımaktan sorumludur. Dizilere sıralı olarak emirler verilir; 0’dan başlayarak. Bazı meta verileri içeren sıralanmamış bir kök akış da vardır.

Referanslar

Ayrıca bakınız