Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
DLL (dinamik bağlantı kitaplığı), birden fazla uygulama tarafından kullanılabilecek kod ve veriler içeren bir kitaplıktır. DLL'leri oluşturmak, derlemek, yapılandırmak ve hatalarını ayıklamak için Visual Studio'yu kullanabilirsiniz.
DLL oluşturma
Aşağıdaki Visual Studio proje şablonları DLL'ler oluşturabilir:
- Sınıf Kitaplığı (.NET, .NET Framework ve diğer uygulama platformları)
- Windows Forms Denetim Kitaplığı (.NET ve .NET Framework)
- Dynamic-Link Kitaplığı (DLL) (C++)
Windows Forms Denetim Kitaplığı'nın hata ayıklaması, Sınıf Kitaplığı'nın hatalarını ayıklamaya benzer. Daha fazla bilgi için bkz. Windows Forms Denetimleri.
Genellikle başka bir projeden DLL çağırırsınız. Çağıran projede hata ayıkladığınızda, DLL yapılandırmasına bağlı olarak, DLL kodunda adım adım ilerleyebilir ve bu kodda hata ayıklayabilirsiniz.
DLL hata ayıklama yapılandırması
Uygulama oluşturmak için Visual Studio proje şablonu kullandığınızda Visual Studio, Hata Ayıklama ve Sürüm derleme yapılandırmaları için gerekli ayarları otomatik olarak oluşturur. Gerekirse bu ayarları değiştirebilirsiniz. Daha fazla bilgi için aşağıdaki makalelere bakın:
- Hata Ayıklama ve Sürüm yapılandırmalarını ayarlama: Nasıl yapılır
- C++ hata ayıklama yapılandırması için proje ayarları
- .NET C# hata ayıklama yapılandırmaları için proje ayarları
- C# hata ayıklama yapılandırmaları için proje ayarları
- Visual Basic hata ayıklama yapılandırması için proje ayarları
C++ DebuggableAttribute'u ayarlama
Hata ayıklayıcının bir C++ DLL'sine eklenebilmesi için C++ kodunun DebuggableAttribute
üretmesi gerekir.
Ayarlamak için DebuggableAttribute
:
Çözüm Gezgini'nde C++ DLL projesini seçin ve Özellikler simgesini seçin veya projeye sağ tıklayıp Özellikler'i seçin.
Özellikler bölmesinde, Bağlayıcı> altındaki Hata Ayıklama bölümünde, Hata Ayıklanabilir Derleme için Evet (/ASSEMBLYDEBUG) seçeneğini seçin.
Daha fazla bilgi için bkz. /ASSEMBLYDEBUG.
C/C++ DLL dosya konumlarını ayarlama
Dış DLL'de hata ayıklamak için, çağıran bir projenin DLL'yi, .pdb dosyasını ve DLL'nin gerektirdiği diğer dosyaları bulabilmesi gerekir. Bu dosyaları proje klasörünüz\Hata ayıklama çıkış klasörünüze<> kopyalamak için özel bir derleme görevi oluşturabilir veya dosyaları burada el ile kopyalayabilirsiniz.
C/C++ projeleri için, üst bilgi ve LIB dosya konumlarını çıkış klasörüne kopyalamak yerine proje özellik sayfalarında ayarlayabilirsiniz.
C/C++ üst bilgisi ve LIB dosya konumlarını ayarlamak için:
Çözüm Gezgini'nde C/C++ DLL projesini seçin ve Özellikler simgesini seçin veya projeye sağ tıklayıp Özellikler'i seçin.
Özellikler bölmesinin üst kısmındaki Yapılandırma'nın altında Tüm Yapılandırmalar'ı seçin.
C/C++>Genel>Ek Ekleme Dizinleri'nin altında üst bilgi dosyalarının yer aldığı klasörü belirtin.
Bağlayıcı>Genel>Ek Kitaplık Dizinleri'nin altında LIB dosyalarının yer aldığı klasörü belirtin.
Bağlayıcı>Girişi>Ek Bağımlılıkları altında, LIB dosyalarının tam yolunu ve dosya adını belirtin.
Tamam'ı seçin.
C++ proje ayarları hakkında daha fazla bilgi için bkz. Windows C++ özellik sayfası referansı.
Hata Ayıklama sürümü oluştur
Hata ayıklamaya başlamadan önce DLL'nin Hata Ayıklama sürümünü derlediğinizden emin olun. Dll'de hata ayıklamak için, çağıran uygulamanın .pdb dosyasını ve DLL'nin gerektirdiği diğer dosyaları bulabilmesi gerekir. Daha fazla bilgi için bkz. Nasıl yapılır: Hata Ayıklama ve Yayın yapılandırmalarını ayarlama
DLL dosyalarını çağıran proje klasörünüz\Hata ayıklama çıkış klasörünüze<> kopyalamak için özel bir derleme görevi oluşturabilir veya dosyaları buradan el ile kopyalayabilirsiniz.
DLL'yi doğru konumda çağırdığından emin olun. Bu açıkça görünebilir, ancak bir çağrı uygulaması DLL'nin farklı bir kopyasını bulur ve yüklerse, hata ayıklayıcı ayarladığınız kesme noktalarına asla ulaşmaz.
DLL hatalarını ayıklama
DLL'i doğrudan çalıştıramazsınız. Genellikle bir .exe dosyası olan bir uygulama tarafından çağrılmalıdır.
DLL'de hata ayıklamak için çağıran uygulamadan hata ayıklamaya başlayabilir veya DLL projesinden hata ayıklayarak çağıran uygulamasını belirtebilirsiniz. Ayrıca, çağırma uygulaması kullanmadan tasarım zamanında DLL işlevlerini veya yöntemlerini değerlendirmek için hata ayıklayıcısı Anında penceresini de kullanabilirsiniz.
Arama uygulamasından hata ayıklamayı başlatma
DLL çağıran uygulama şu olabilir:
- Aynı veya DLL'den farklı bir çözümdeki Visual Studio projesinden bir uygulama.
- Zaten dağıtılmış ve bir test veya üretim bilgisayarında çalışan mevcut bir uygulama.
- Web'de bulunur ve bir URL üzerinden erişilir.
- DLL'yi ekleyen bir web sayfası olan bir web uygulaması.
Arama uygulamasında hata ayıklamaya başlamadan önce DLL'de bir kesme noktası ayarlayın. Bkz. Kesme noktalarını kullanmaya başlama. DLL kesme noktasına erişildiğinde, her satırdaki eylemi gözlemleyerek kodda adım adım ilerleyebilirsiniz. Daha fazla bilgi için bkz . Hata ayıklayıcıda kodda gezinme.
Bir arama uygulamasından DLL'de hata ayıklamak için şunları yapabilirsiniz:
Çağıran uygulamanın projesini açın ve Hata Ayıklamayı>Başlat Hata Ayıklama'yı seçerek veya F5 tuşuna basarak hata ayıklamaya başlayın.
veya
Halihazırda dağıtılmış ve bir test veya üretim bilgisayarında çalışan bir uygulamaya bağlanın. Web sitelerindeki veya web uygulamalarındaki DLL'ler için bu yöntemi kullanın. Daha fazla bilgi için Nasıl Yapılır: Çalışan Bir İşleme Ekleme bölümüne bakın.
Hata ayıklama sırasında, DLL'leri doğrulamak ve uygulamanın yükleyebileceği dosyaları .exe için Modüller penceresini kullanabilirsiniz. Modüller penceresini açmak için hata ayıklarkenWindows>Modüllerinde> seçin. Daha fazla bilgi için bkz . Nasıl yapılır: Modüller penceresini kullanma.
Anında penceresini kullanma
Tasarım zamanında DLL işlevlerini veya yöntemlerini değerlendirmek için Anında penceresini kullanabilirsiniz. Anında penceresi bir arama uygulamasının rolünü oynar.
Uyarı
Proje türlerinin çoğuyla tasarım zamanında Anında penceresini kullanabilirsiniz. SQL, web projeleri veya betikler için desteklenmemektedir.
Örneğin, sınıf Test
içinde Class1
adlı bir yöntemi test etmek için:
DLL projesi açıkken,Windows>Hatalarını Ayıkla'yı> seçerek veya Ctrl++ tuşlarına basarak Anında penceresini açın.
Class1
penceresine aşağıdaki C# kodunu yazıp Enter tuşuna basarak türündeki bir nesnenin örneğini oluşturun. Bu yönetilen kod C# ve Visual Basic için uygun söz dizimi değişiklikleriyle çalışır:Class1 obj = new Class1();
C# dilinde tüm adların tam olarak nitelenmiş olması gerekir. Dil hizmeti ifadeyi değerlendirmeye çalıştığında tüm yöntemler veya değişkenler geçerli kapsam ve bağlamda olmalıdır.
Test
Birint
parametre aldığını varsayarakTest
, Anında penceresini kullanarak değerlendirin:?obj.Test(10);
Sonuç Anlık pencerede yazdırılır.
İçine bir kesme noktası yerleştirip işlevi yeniden değerlendirerek
Test
hata ayıklamaya devam edebilirsiniz.Kesme noktasına ulaşılacak ve adım adım ilerleyebileceksiniz
Test
. Yürütme çıktıktanTest
sonra hata ayıklayıcı tasarım moduna geri döner.
Karışık modda hata ayıklama
Yönetilen veya yerel kodda DLL için bir arama uygulaması yazabilirsiniz. Yerel uygulamanız yönetilen DLL çağırırsa ve her ikisinde de hata ayıklamak istiyorsanız, proje özelliklerinde hem yönetilen hem de yerel hata ayıklayıcıları etkinleştirebilirsiniz. Tam işlem, DLL projesinden mi yoksa çağıran uygulama projesinden mi hata ayıklama başlatmak istediğinize bağlıdır. Daha fazla bilgi için bkz . Nasıl yapılır: Karma modda hata ayıklama.
Yönetilen bir çağrı projesinden yerel DLL'de hata ayıklama da yapabilirsiniz. Daha fazla bilgi için bkz. Yönetilen ve yerel kodda hata ayıklama.
İlgili içerik
- Yönetilen kodda hata ayıklama
- C++ projelerinin hatalarını ayıklamaya hazırlanma
- C#, F# ve Visual Basic proje türleri
- C++ Hata Ayıklama yapılandırması için proje ayarları
- .NET C# hata ayıklama yapılandırmaları için proje ayarları
- C# Hata ayıklama yapılandırmaları için proje ayarları
- Visual Basic Hata Ayıklama yapılandırması için proje ayarları
- Hata ayıklayıcı güvenliği