Hata ayıklama mı? Delphi Derleme Yapılandırmalarında Sürüm 1/3

01

03

Yapılandırmalar - Temel: Hata Ayıkla, Yayınla

Delphi Proje Yöneticisi
Delphi Proje Yöneticisi.Zarko Gajic

Projenizdeki Proje Yöneticisi penceresi Delphi (RAD Studio) IDE, mevcut proje grubunuzun ve içerdiği tüm projelerin içeriğini görüntüler ve düzenler. Projenizin parçası olan tüm birimleri ve dahil edilen tüm formları ve kaynak dosyalarını listeleyecektir.

Derleme Yapılandırmaları bölümü, projeniz için sahip olduğunuz çeşitli derleme yapılandırmalarını listeleyecektir.

Biraz daha yeni (doğru olmak için: Delphi 2007) Delphi sürümleri iki (üç) varsayılan derleme yapılandırmasına sahiptir: DEBUG ve RELEASE.

Koşullu Derleme 101 makalesi derleme yapılandırmalarından bahsetmektedir ancak ayrıntılardaki farkı açıklamamaktadır.

Hata ayıklama mı? Serbest bırakmak

Proje Yöneticisi'nde gördüğünüz derleme yapılandırmalarının her birini etkinleştirip projenizi farklı bir yürütülebilir dosya oluşturarak oluşturabildiğiniz için, Debug ve Release arasındaki fark nedir?

Adlandırma: "hata ayıklama" ve "serbest bırakma" sizi doğru yönde göstermelidir.

instagram viewer
  • Hata ayıklama yapılandırması etkin olmalı ve uygulamanızı geliştirirken, hata ayıklama ve değiştirme sırasında kullanılmalıdır.
  • Uygulamanızı oluştururken, üretilen yürütülebilir dosyanın kullanıcılara gönderilmesi için sürüm yapılandırması etkinleştirilmelidir.

Yine de, soru devam ediyor: fark nedir? "Hata ayıklama" etkinken neler yapabilirsiniz ve son yürütülebilir dosyada bulunanlar "release" uygulandığında yürütülebilir dosya nasıl görünüyor?

Yapılandırma Yapılandırmaları

Varsayılan olarak, üç tane (Proje Yöneticisi'nde yalnızca iki tane görseniz bile) tarafından oluşturulan Yeni bir projeye başladığınızda Delphi. Bunlar Base, Debug ve Release.

Temel yapılandırma temel kümesi olarak hareket eder seçenek değerleri daha sonra oluşturduğunuz tüm yapılandırmalarda kullanılır.

Bahsedilen seçenek değerleri, derleme ve bağlama Proje Seçenekleri iletişim kutusunu (ana menü: Proje - Seçenekler) kullanarak projeniz için değiştirebileceğiniz başka bir seçenek kümesi.

Hata ayıklama yapılandırması optimizasyonu devre dışı bırakarak ve hata ayıklamayı etkinleştirerek ve belirli sözdizimi seçeneklerini ayarlayarak Base'yi genişletir.

Sürüm yapılandırması Base'i sembolik hata ayıklama bilgisi üretmeyecek şekilde genişletir, TRACE ve ASSERT çağrıları için kod üretilmez, yani çalıştırılabilir dosyanızın boyutu azalır.

Kendi derleme yapılandırmalarınızı ekleyebilir ve hem varsayılan Hata Ayıklama hem de Sürüm yapılandırmalarını silebilirsiniz, ancak Temel olanı silemezsiniz.

Derleme yapılandırmaları proje dosyasına (.dproj) kaydedilir. DPROJ bir XML dosyasıdır, yapılandırma yapılandırmalarına sahip bölüm şu şekildedir:

00400000.. \ $ (Yapılandırma) \ $ (Platform) WinTypes = Windows; WinProcs = Windows; DbiTypes = BDE; DbiProcs = BDE; $ (DCC_UnitAlias). \ $ (Yapılandırma) \ $ (Platform) DEBUG; $ (DCC_Define) yanlış. doğru. yanlış. AÇIKLAMASI; $ (DCC_Define) 0. yanlış.

Tabii ki, DPROJ dosyasını manuel olarak değiştirmeyeceksiniz, Delphi tarafından korunuyor.

Yapı yapılandırmalarını * yeniden adlandırabilir, her yapı yapılandırması için ayarları değiştirebilirsiniz *, * serbest bırakabilirsiniz * "serbest bırak" hata ayıklama için ve "hata ayıklama" istemcileriniz için optimize edilmiştir. Bu nedenle ne yaptığınızı bilmeniz gerekir :)

Derleme, İnşaat, Koşu

Uygulamanız üzerinde çalışırken, geliştirirken, uygulamayı doğrudan IDE'den derleyebilir, oluşturabilir ve çalıştırabilirsiniz. Derleme, oluşturma ve çalıştırma yürütülebilir dosyayı üretir.

Derleme sözdizimi kodunuzu kontrol eder ve yalnızca son Derleme'den bu yana değişen dosyaları dikkate alarak uygulamayı derler. Derleme DCU dosyaları üretir.

Bina, tüm birimlerin (değiştirilmemiş olanlar bile) derlendiği bir derlemenin uzantısıdır. Proje seçeneklerini değiştirdiğinizde, inşa etmelisiniz!

Running, kodu derler ve uygulamayı çalıştırır. Hata ayıklama (F9) ile veya hata ayıklama olmadan (Ctrl + Shift + F9) çalıştırabilirsiniz. Hata ayıklama olmadan çalıştırılırsa, IDE'de yerleşik olan hata ayıklayıcı çağrılmaz - hata ayıklama kesme noktalarınız "çalışmaz".

Derleme yapılandırmalarının nasıl ve nereye kaydedildiğini artık bildiğinize göre, Hata Ayıklama ve Sürüm derlemeleri arasındaki farkı görelim.

02

03

Derleme Yapılandırması: DEBUG - Hata Ayıklama ve Geliştirme için

Yapılandırmada Delphi'de Hata Ayıklama
Yapılandırmada Delphi'de Hata Ayıkla.Zarko Gajic

Delphi projeniz için Proje Yöneticisi'nde bulabileceğiniz varsayılan derleme yapılandırması Hata Ayıklama, yeni bir uygulama / proje oluşturdu.

Hata ayıklama yapılandırması optimizasyonu devre dışı bırakır ve hata ayıklamayı etkinleştirir.

Derleme yapılandırmasını düzenlemek için: yapılandırma adına sağ tıklayın, içerik menüsünden "Düzenle" yi seçin, kendinizi Proje Seçenekleri iletişim kutusuna bakarken bulacaksınız.

Hata Ayıklama Seçenekleri

Hata ayıklama Temel yapılandırma derlemesini genişlettiğinden, farklı bir değere sahip olan ayarlar kalın olarak görüntülenir.

Hata Ayıklama (ve dolayısıyla hata ayıklama) için belirli seçenekler şunlardır:

  • Delphi Derleyici - Derleme - Kod Üretimi - Optimizasyon KAPALI - derleyici, CPU kayıtlarına değişken yerleştirme, ortak alt ifadeleri ortadan kaldırma ve indüksiyon değişkenleri oluşturma gibi bir dizi kod optimizasyonu YAPMAYACAKTIR.
  • Delphi Derleyici - Derleme - Kod Üretimi - Yığın Çerçeveleri AÇIK - yığın çerçeveler, ihtiyaç duyulmasalar bile prosedürler ve işlevler için her zaman oluşturulur.
  • Delphi Derleyici - Derleme - Hata ayıklama - Hata Ayıklama Bilgileri AÇIK - bu seçenek etkinken bir program veya birim derlendiğinde, entegre hata ayıklayıcı tek adımlık ve kesme noktaları ayarlamanıza olanak tanır. Hata ayıklama bilgisinin "açık" olması yürütülebilir programın boyutunu veya hızını etkilemez - hata ayıklama bilgileri DCU'lara derlenir ve yürütülebilir dosyaya bağlanmaz.
  • Delphi Derleyici - Derleme - Hata ayıklama - Yerel semboller AÇIK - Bu seçenek etkinken bir program veya birim derlendiğinde, entegre hata ayıklayıcı, modülün yerel değişkenlerini incelemenizi ve değiştirmenizi sağlar. "Açık" olan yerel semboller, yürütülebilir programın boyutunu veya hızını etkilemez.

NOT: varsayılan olarak, "hata ayıklama .dcus kullan" seçeneği KAPALI. Bu seçeneğin açık olması, Delphi VCL kaynak kodunda hata ayıklama (VCL'de bir kesme noktası ayarlayın)

Şimdi "Release" nin ne hakkında olduğunu görelim ...

03

03

Derleme Yapılandırması: RELEASE - Genel Dağıtım için

Delphi Sürüm Oluşturma Yapılandırması
Delphi Sürüm Derleme Yapılandırması.Zarko Gajic

Delphi projeniz için Proje Yöneticisi'nde bulabileceğiniz varsayılan derleme yapılandırması Sürümü, yeni bir uygulama / proje oluşturduğunuzda Delphi tarafından oluşturulur.

Sürüm konfigürasyonu optimizasyonu etkinleştirir ve hata ayıklamayı devre dışı bırakır, TRACE ve ASSERT çağrıları için kod üretilmez, bu da çalıştırılabilir boyutunuzun azalması anlamına gelir.

Derleme yapılandırmasını düzenlemek için: yapılandırma adına sağ tıklayın, içerik menüsünden "Düzenle" yi seçin, kendinizi Proje Seçenekleri iletişim kutusuna bakarken bulacaksınız.

Sürüm Seçenekleri

Sürüm, Temel yapılandırma derlemesini genişlettiğinden, farklı bir değere sahip olan ayarlar kalın olarak görüntülenir.

Sürüm için (uygulamanızın kullanıcıları tarafından kullanılacak sürüm - hata ayıklama için değil) belirli seçenekler şunlardır:

  • Delphi Derleyici - Derleme - Kod Üretimi - Optimizasyon AÇIK - derleyici, CPU kayıtlarına değişken yerleştirme, ortak alt ifadeleri ortadan kaldırma ve indüksiyon değişkenleri oluşturma gibi bir dizi kod optimizasyonu gerçekleştirecektir.
  • Delphi Derleyici - Derleme - Kod Üretimi - Yığın Çerçeveleri KAPALI - yordam çerçeveleri, yordamlar ve işlevler için oluşturulmaz.
  • Delphi Derleyici - Derleme - Hata ayıklama - Hata Ayıklama Bilgileri KAPALI - bu seçenek devre dışı bırakılmış bir program veya birim derlendiğinde, entegre hata ayıklayıcı tek adımlı ve kesme noktası ayarlamanıza izin VERMEZ.
  • Delphi Derleyici - Derleme - Hata ayıklama - Yerel semboller KAPALI - Bu seçenek devre dışı bırakılmış bir program veya birim derlendiğinde, tümleşik hata ayıklayıcı, modülün yerel değişkenlerini incelemenize ve değiştirmenize izin vermez.

Bunlar Delphi tarafından yeni bir proje için ayarlanan varsayılan değerlerdir. Kendi hata ayıklama sürümünüzü oluşturmak veya derleme yapılandırmalarını serbest bırakmak için Proje seçeneklerinden herhangi birini değiştirebilirsiniz.