Bir Windows hizmetinde Microsoft Log Ayrıştırıcısını kullanıyorum. Program normal bir web sayfasında çalışır, ancak kodu bir windows servisine koyduğumda çalışmaz. Breakponts'u windows servisine koydum ama kodu çalıştırdığımda program kesme noktasında durmuyor. Bu yüzden, sorun gidermekle problemi Log Parser yazılımı ve Linq'e kadar daralttım. Yani Linq veya log ayrıştırıcı yazılımı sorunu yaratıyor. Hiç bir fikrin var mı?Visual Studio 2008'de bir Windows hizmeti programında hata ayıklamanın en iyi yolu nedir
cevap
Programın nasıl çalıştığına bağlı olarak geçmişte bu kadar çok yol yaptım. Debugger.Launch() etrafında bir #DEBUG önişlemci yönergesi ile projeyi en iyi duruma getirdiğinizde, Debugger.Launch() çağrısının derleme içinde derlenmeyeceği şekilde en kolay şekilde yapılır.
Ayrıca, bu görevi gerçekleştirdiğimiz yöntemlerden biri de "attach" iletişim kutusu görüntülendiğinde hata ayıklayıcısına el ile eklememize olanak veren System.Windows.Forms.MessageBox.Show ("attach") ile gerçekleştirilmiştir.
Tercih etmediğim en son yöntem, hizmetinizin davranışını iletilen komut satırı parametrelerini temel alarak değiştirmektir. Temel olarak, belirli bir param devre dışı bırakıldığında ServiceBase.Run kullanarak hizmetleri başlatmamak, ancak bir sınıfı çağırmak için DEĞİL Bu, hizmetin davranış/ana işlevini içine alır.
Hata ayıklayıcınızı doğrudan Windows Services ile eklemeniz gerekir. Bu size yardımcı olabilir: http://msdn.microsoft.com/en-us/library/7a50syb3%28VS.80%29.aspx.
OnStart yönteminde hata ayıklamak ister misiniz? Eğer öyleyse, başlangıçta çalıştırma yöntemi çalışırken hata ayıklayıcısını ekleme şansına sahip olmak için System.Diagnostics.Debugger.Launch()
veya System.Diagnostics.Debugger.Break()
yöntemini kullanabilirsiniz, aksi halde hata ayıklayıcısını eklemekle her zaman geç kalırsınız.
Şişman kedinin hata ayıklayıcısını servis işlemine takma önerisi doğru geliyor. Bu hala çalışmıyorsa, Debug.WriteLine ve DebugView kullanmayı deneyin.
- 1. Ayakkabı uygulamalarında hata ayıklamanın en iyi yolu nedir?
- 2. Visual Studio 2013 ile linux üzerinde çalışan bir C# mono uygulaması uzaktan hata ayıklamanın en iyi yolu
- 3. Ruby'de üçüncü şahısların hatalarını ayıklamanın en iyi yolu
- 4. Jmeter'da en iyi yolu bulmanın en iyi yolu nedir?
- 5. En iyi java web hizmeti çerçevesi nedir?
- 6. Windows uygulamamı kasıtlı olarak kilitlemenin en iyi yolu nedir?
- 7. Topshelf etkin Windows hizmeti, hata ayıklanmayacaktır
- 8. Perl SOAP modülünde 'Yasa dışı alan adı' hatalarını ayıklamanın en iyi yolu nedir?
- 9. En iyi Visual Studio eklentileri nelerdir?
- 10. Bir animasyonu sürmenin en iyi yolu nedir?
- 11. Windows Mobile 6 uygulamasında video gömmenin en iyi yolu nedir?
- 12. Windows form uygulamasında bellek sızıntılarını bulmanın en iyi yolu nedir?
- 13. Windows Powershell'den HTTP istekleri göndermenin en iyi yolu nedir?
- 14. ClickOnce dağıtımlarının oluşturulmasının en iyi yolu nedir
- 15. Visual Studio dosya yolu sınırları nedir?
- 16. Visual Studio 2008/2010'da kodda yer işaretlerini yerleştirmenin en iyi yolu nedir?
- 17. MVC kullanarak ASP.NET'te bir API uygulamanın en iyi yolu nedir?
- 18. Dosyayı sunucudan indirmenin en iyi yolu nedir
- 19. Kullanıcı bildirimlerini saklamanın en iyi yolu nedir?
- 20. Ember.js'de olayları işlemenin en iyi yolu nedir?
- 21. core.clj'yi kurmanın en iyi yolu nedir?
- 22. DateTime'ı çerezlere depolamanın en iyi yolu nedir?
- 23. Javascript yürütme işleminin en iyi yolu nedir?
- 24. php'de uluslararasılaşmanın en iyi yolu nedir?
- 25. Perl'de ekranı temizlemenin en iyi yolu nedir?
- 26. Süreyi saklamanın en iyi yolu nedir? MySQL
- 27. İç ürünleri oluşturmanın en iyi yolu nedir?
- 28. Gözlemlenebilir klonlamanın en iyi yolu nedir?
- 29. Basit sayılar tanımanın en iyi yolu nedir?
- 30. Nesneleri kapsayıcılarda paylaşmanın en iyi yolu nedir?
Son nokta - Ben de bunun için 'Environment.UserInteractive' kontrol edebilirsiniz inanıyorum. –