Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 36247|Yanıt: 2

[Kaynak] vs .pdb dosyaları ne ve neden üretiliyor

[Bağlantıyı kopyala]
Yayınlandı 16.01.2018 15:43:04 | | |
PDB dosyası ne için?

PDB dosyaları: Her geliştiricinin bilmesi gerekenler

PDB senaryosuna örnek:

.net/c# log4net hata istisnası satır numarasının nedenini kaydetmez
http://www.itsvse.com/thread-3928-1-1.html
(Kaynak: Architect)


PDB dosyası nedir?

Çoğu geliştirici PDB dosyalarının yazılım hata ayıklama konusunda yardımcı olduğunu bilmelidir. Ama tam olarak nasıl çalıştığını bilmiyor olabiliriz. Bu makale, PDB dosyalarının depolanması ve içeriğini açıklar. Ayrıca, hata ayıklayıcının binaya karşılık gelen PDB dosyasını ve iki ayıklayıcıya karşılık gelen kaynak kod dosyasını nasıl bulduğunu da açıklar. Bu makale tüm Yerel ve Yönetilen geliştiriciler içindir.

Başlamadan önce iki terim tanımlayalım: özel derleme, geliştiricinin kendi makinesinde üretilen bir deri anlamına gelir; Genel derleme, yani kamuya açık bir yapım makinesinde oluşturulan bir derleme. Özel derleme nispeten basit, çünkü PDB ve binay aynı yerde ve genellikle sorunlarımız kamu sürümüyle ilgilidir.  

Tüm geliştiricilerin bilmesi gereken en önemli şey, "PDB dosyaları kaynak kodu kadar önemlidir" olması, onsuz hata ayıklaması bile mümkün değil. Genel derleme için, sembol sunucusunun tüm PDB'leri depolaması gerekir ve kullanıcı hata bildirdiğinde, hata ayıklayıcı otomatik olarak ilgili PDB dosyasını binayda bulabilir ve hem Visual Studio hem de Windbg sembol sunucusuna nasıl erişileceğini bilir. PDB ve binay sembol sunucusuna kaydetmeden önce, PDB çalıştırmasını kaynak indeksiyle de belirtmeniz gerekir; bu da PDB ile kaynağı ilişkilendirmek anlamına gelir.  

Sonraki kısım, Sembol Sunucusu ve Kaynak Sunucu İndeksleme'nin zaten kurulmuş olduğunu varsayar. TFS2010 yeni bir yapı için kaynak indeksleme ve sembol sunucusu kopyalaması kadar basit şekilde yapılabilir.

2. PDB dosyasının içeriği

PDB'nin içeriğini resmi olarak başlatan PDB, kamuya açık bir dosya formatı değildir, ancak Microsoft, PDB'den veri almak için bir API sağlar.

Yerel C++ PDB aşağıdaki bilgileri içerir:
* kamu, özel ve statik fonksiyon adresleri;
* Küresel değişkenin adı ve adresi;
* Yığın üzerindeki parametre ve yerel değişken isimleri ile ofsetler;
* sınıf, yapı ve veri tipi tanımları;
* x86'da yerel yığını dolaşmak için Frame Pointer Eksikliği verileri;
* Kaynak kod dosyasındaki isim ve satır sayısı;

.NET PDB yalnızca 2 bilgi parçası içerir:
* Kaynak kod dosya adı ve satır sayısı;
* ve yerel değişkenin adı;
* Diğer tüm veriler zaten . NET Meta Verileri;  





Önceki:Visual Studio, Vim'in güçlü düzenleme yeteneklerini ekleyerek önlemeyi zorlaştırıyor!
Önümüzdeki:SQL Server Veritabanları Kullanarak Posta Gönderme (sp_send_dbmail)
Yayınlandı 16.01.2018 15:44:18 |
 Ev sahibi| Yayınlandı 8.12.2022 21:44:33 |
VS 2022, projeyi .pdb dosyası oluşturmak üzere ayarlar
https://www.itsvse.com/thread-10397-1-1.html
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com