Hata ayıklama
Hata ayıklama nedir
Hata ayıklama, kodunuzdaki hataları tespit edip düzeltebileceğiniz bir süreçtir.
Herhangi bir .NET programı iki farklı modda çalışabilir.
- Yayın modu - genellikle üretim ortamlarında kullanılır. Kullanıldığında, .NET kodunuzun yürütülme hızını artıran ve bellek ayak izini azaltan çeşitli derleyici ve tam zamanında optimizasyonları etkinleştirir.
- Hata ayıklama modu - öncelikli olarak geliştirme ve test ortamlarında kullanılır. Tüm optimizasyonlar devre dışı bırakılır ve .NET hata ayıklayıcılarını kodunuza ekleyebilirsiniz.
.NET kitaplıkları ve uygulamalarıyla çalışırken hata ayıklama şunları içerir:
- Kodunuzu hata ayıklama modunda çalıştırma
- .NET hata ayıklayıcısını kodunuza ekleme
- Yürütme akışının duraklaması gerekip gerekmediğini belirtmek için kod kesme noktaları ayarlama
- Kesme noktalarında planlı duraklamalarla kod yürütme akışını takip etme
Define .NET debuggers
.NET hata ayıklayıcıları, çalışma zamanı API'lerini kullanan programlardır. Bu API'ler ise .NET süreçlerinin yürütme akışını kontrol etmeye olanak tanır. Başka bir deyişle, belirli kesme noktalarında yürütmeyi duraklatabilir ve çeşitli durumları (bu durumlar sırasında tek tek değişkenlerin tuttuğu değerler dahil) depolayabilirler.
Algoritmaları hata ayıklama modunda oluşturun
Yukarıda tartıştığımız gibi, bir cBot veya göstergede hata ayıklamak, bu uzantıyı hata ayıklama modunda oluşturmayı gerektirir. Varsayılan olarak, cTrader kullanıcı arayüzünde Oluştur düğmesine tıkladığınızda, uzantınız kod optimizasyonlarını etkinleştirmek için sürüm modunda çalışır.
cBot'unuzu veya göstergenizi hata ayıklama modunda oluşturmak için .NET CLI'yı veya Visual Studio gibi harici IDE'leri kullanmanız gerekir. Bu belgede, hata ayıklama sürecini Visual Studio'da gerçekleştiği şekliyle gösteriyoruz. Ancak, bu süreç diğer IDE'lerde de küçük değişikliklerle tekrarlanabilir.
Makinenize Visual Studio'nun en son sürümünü yükleyin ve aşağıdaki eylemleri gerçekleştirin:
-
Kod düzenleyici penceresinin üst kısmındaki Şurada Düzenle... açılır menüsünden Visual Studio'da Düzenle seçeneğini belirleyerek göstergenizi veya cBot'unuzu Visual Studio'da açın.
-
Visual Studio kod düzenleyicisinin üzerindeki menüden Hata Ayıkla'yı seçin.

- cBot'unuzu veya göstergenizi hata ayıklama modunda oluşturun.
Bir cBot veya göstergede hata ayıklayın
Artık bir cBot veya göstergeyi hata ayıklama modunda nasıl oluşturacağınızı bildiğinize göre, şimdi onu gerçekte nasıl hata ayıklayacağınıza odaklanacağız.
-
Göstergenizin veya cBot'unuzun erişim haklarını
FullAccessolarak değiştirin. -
Göstergenizin veya cBot'unuzun çalışan sürecine bir hata ayıklayıcı ekleyin. Bunu
System.Diagnostics.Debugger.Launch()metodunu çağırarak yapabilirsiniz.
1 2 3 4 5 6 7 8 9 | |
1 2 3 4 5 6 7 8 9 | |
Not
System.Diagnostics.Debugger.Launch() metodu, OnStart() metodunda (bir cBot için) veya Initialize() metodunda (bir gösterge için) çağrılmalıdır.
- cBot'unuzun veya göstergenizin yeni bir örneğini çalıştırın. Zaten bir örnek çalışıyorsa, kullanıcı arayüzünde onu seçin. Bir hata ayıklayıcı seçmeniz için bir istemle Visual Studio'ya yönlendirilmelisiniz. Bunu yapın ve Tamam'a tıklayın.

Hata ayıklama başladıktan sonra, kesme noktaları ayarlayabilir, kod satırlarına (adım adım girebilir) ve çağrı yığınını ile değişken değerlerini görebilirsiniz.
Visual Studio'da nasıl hata ayıklanacağına dair eksiksiz bir rehber için Visual Studio hata ayıklama belgelerini inceleyin.
DEBUG önişlemci yönergesini kullanın
Yürütme akışını kontrol etmek için cBot veya gösterge kodunuzda DEBUG önişlemci yönergesini de kullanabilirsiniz.
#if DEBUG yönergesi, yalnızca bir kod bloğunu veya satırını hata ayıklama modunda çalıştırmak istediğinizde kullanışlıdır.
1 2 3 4 5 6 7 8 9 | |
Yukarıdaki örnekte, cBot'unuzu hata ayıklama modunda oluşturursanız "Hata Ayıklanmıyor" kod satırı derlenmeyecektir.
C# işlemci yönergeleri hakkında ek bilgiye bu belgede ulaşabilirsiniz.