Visual Studio Kullanarak Uygulamaların Derlenmesi
Visual Studio kullanarak uygulamaların derlenmesi için C# uygulamasını içeren proje açılarak Build menüsünden Build Solution tıklanır.
Visual Studio Kullanarak Uygulamaların Çalıştırılması
Visual Studio kullanarak uygulamaların derlenmesi için Debug menüsünden Start Debugging (ya da Ctrl F5) ya da Start Without Debugging (ya da F5) tıklanır. Konsol uygulaması geliştirilirken Ctrl + F5 ile çalıştırılması, uygulama sonlandığında kullanıcı herhangi bir tuşa basana kadar pencerenin açık kalmasını sağlar. Bu iki çalıştırma yolunun farkı; ilkinde uygulama debug (hata ayıklama) modunda çalıştırılırken ikincisinde debug mod kapalı olarak çalıştırılmasıdır.
Derleme Zamanı Hataları
Hem komut satırından hem de Visual Studio 2005 kullanarak uygulama derlendiğinde csc.exe, sözdizimi ya da semantik (anlam) bir hata yakalarsa bunu raporlar. Eğer komut satırından derlenmişse ekrana yazdırılan mesaj ile hatanın dosyadaki satır sayısı ve karakter pozisyonu bildirilir. Eğer derleme için Visual Studio kullanılmışsa Hata Listesi (ErrorList) penceresi bütün hatalı satırları işaret edip hata mesajını bildirir; hataya çift tıklanmasıyla da uygulama ortamı bizi ilgili satıra götürecektir. Uygulama derlendiğinde artık hata alınmıyorsa derleme zamanı hatalarından arınmışız demektir; uygulamanın .exe’si çalıştırılabilirdir.
[box type="info" size="large" style="rounded" border="full"]Uygulama derlenmeden çalıştırılırsa, otomatik olarak önce derlenir, ardından hata yoksa çalıştırılır.[/box]
Çalışma Zamanı Hataları
Uygulama çalıştırılabilir dosyasının (*.exe) sorunsuz olarak üretilmesinin ardından çalıştırılır ve eğer çalışma sırasında bir hata oluşursa buna çalışma zamanı hatası (exception) denir. Uygulama geliştirici olarak çalışma zamanında oluşacak hatalara karşı kod yazmamışsak bütün programlama ortamları için uygulama ekranında hatayla ilgili bilgilerin yer aldığı bir ekranla karşılaşılır. Uygulamadan faydalanan kullanıcının böyle bir ekranla karşılaşması istenmeyeceği için (en azından anlamlı bir hata mesajı ile karşılaşmasını isteyeceğimiz) bu hataları ele alan kodların yazılmış olması gerekir. (Bu konu “Çalışma zamanı hatalarını ele alma” başlığı altında ileriki konularda detaylı olarak incelenecektir)
Visual Studio Hata Ayıklayıcısı Yardımıyla Uygulamanın İzlenmesi
Uygulamaya kesme noktaları (break point) koymak ve kullanılan değişkenlerin çalışma zamanı değerlerini incelemek,takip etmek için Visual Studio Hata Ayıklayıcısı’ndan (Visual Studio Debugger) faydalanılabilir. Eğer bir uygulama satır satır ilerlenerek çalıştırılmak istenirse Debug menüsünden StepOver kliklenerek çalıştırılır ve yine aynı şekilde uygulama sonlanana kadar ilerlenebilir; satırlar arası ilerlerken uygulamanın nerelere dallanıp çalıştığı takip edilebilir ve kullanılan değişkenlerin değerleri incelenebilir. Uygulamaya kesme noktaları koymak için kod yazdığımız C# dosyasında (*.cs) herhangi bir satıra sağ tıklayıp BreakPoint seçeneğinden Insert BreakPoint tıklanır. Aynı zamanda sol kenar boşluğuna tıklanarak da koyulabilir. Kaldırmak için yine aynı satır üzerinden BreakPoint seçeneğinden Delete BreakPoint tıklanır. Aynı zamanda sol kenar boşluğunda çıkmış olan işarete tekrar tıklanarak da kaldırılabilir. Uygulama debug modda çalıştırıldığı zaman (F5 ile) herhangi bir satır ya da satırlara koyulan kesme noktasına kadar çalışıp o satırda bekleyecektir. Kullanılan değişkenlerin o anki değerlerinin incelenme ihtiyacı duyulduğunda bu faydalı olacaktır. Daha sonra uygulama ister adım adım (F10 ya da F11 ile) ister normal şekilde (F5) çalıştırılmaya devam edilir.
[box type="info" size="large" style="rounded" border="full"]F10 (Step Over) ile adım adım hata ayıklama yapılırken eğer kullanılan bir metot vb… varsa onların içerisine girilmezken F11 (Step Into) kullanıldığında her birinin içerisine girilir.[/box]
Main Metodu
Her uygulamanın bir başlangıç noktası olmalıdır. Bir C# uygulaması çalıştırıldığı zaman çalışmaya Main adındaki metottan başlar, kontrol bu metodun sonuna geldiğinde ise uygulama sonlanır. (Ya da varsa metot içerisinde return ifadesinin görüldüğü yerde uygulama sonlanır)
[box type="info" size="large" style="rounded" border="full"]C#, büyük-küçük harf duyarlı (case-sensitive) bir dil olduğu için “Main” ile “main”, (Benzer bir örnek vermek gerekirse “ReadLine” ile “Readline”) aynı değildir. Dolayısıyla başlangıç metodu her zaman ilk harfi büyük, geri kalan harfleri küçük “Main” olacak şekilde kodlanmalıdır.[/box]
Bir C# uygulamasında birden fazla sınıf olabilir, ancak sadece bir tane giriş noktası olmalıdır. Aynı uygulamada her birinde Main olan birden çok sınıf da yer alabilir; ancak sadece bir tane Main çalıştırılacaktır. O yüzden uygulama derlendiğinde hangisinin kullanılacağı belirtilmelidir. Main’in niteleyicileri de önemlidir. Koda bakılacak olursa, Main metodunun tanımlamasındaki niteleyiciler “public”, “static” ve “void” olarak belirlenmiştir. Bu anahtar kelimeler sonraki modüllerde daha ayrıntılı olarak incelenecek; o zamana kadar “public” üyelerin diğer tipler ve üyeler tarafından erişilebilir, static üyelerin sınıf düzeyinde üyeler olduğunu ve “sınıfAdi.uyeAdi” şeklinde çağrılarak kullanılabileceğini, “void” metotların ise çalışması sona erdiğinde ortama bir değer döndürmediğini bilmek yeterlidir. Main() metodunun erişim belirleyicisi “public” yerine “private” da olabilir; bu şekilde diğer assembly’lerin, yazdığımız uygulamanın giriş noktasını çağıramaması sağlanmış olur.(Visual Studio, bir programın Main() metodunu otomatik olarak “private” tanımlar) Ayrıca dönüş tipi de “void” yerine “int” olabilir. Bu, uygulama geliştiriciye Main() metodunun başarıyla sonlanıp sonlanmadığını öğrenmek için geriye sayısal değer döndürme fırsatı sağlar. Ancak Main() metodu her zaman “static” olmak zorundadır; yoksa derleyici tarafından uygulama için uygun bir giriş noktası bulunamaz.
uygulama-derleme-main-debug-csharp
Konular: ayıklayıcı, break point, c#, csharp, derleme, derleme hatası, hata, kaynak, kesme, kod, kodhane, komut, main, method, nokta, öğren, runtime, uygulama, uygulama çalıştırma
Yorum yok
Bu yazı için Yorum Beslemesi
Geri izleme bağlantısı http://www.kodhane.com/csharp-uygulama-derleme-main.html/trackback