Don't let your thread sleep unless it really has to

Hello! I -not so rarely- see a call to the Sleep API for polling purposes. Personally, I don’t recommend Sleep for polling. It is not only waste of computing resources but also wrong usage ( or usage without knowing the possible consequences ) can cause unexpected behavior. Let’s start visiting the MSDN article about Sleep…

0

The curious case of a Windows Service consuming 3% of CPU time

Hello, Recently I had a nice case which I thought I should share. My hope is that the steps might be useful for the beginner/intermediate level debugging fans out there. My customer’s complaint was that an in-house developed Windows Service was steadily consuming 3% of CPU time. To start troubleshooting we have created a dump file…

4

General Troubleshooting Reference

Hello, Within this blog I try to make a list of resources for general troubleshooting on Windows Operating System. The list is not exhaustive. However, I’ll try to keep the list as up-to-date as possible. So please come and visit again 🙂 This article is broken down into three parts : ONLINE KNOWLEDGE RESOURCES TOOLS BOOKS  …

0

Trace.WriteLine may call OutputDebugString

Recently, I was asked to check a couple of dump files. They were generated when their Biztalk server process was responding slow. I’ve listed the callstacks of all the threads. More than 100 threads were waiting to enter a monitor. An example callstack of such waiting threads is as follows :   System.Threading.Monitor.Enter(System.Object) System.Diagnostics.TraceInternal.WriteLine(System.String)                          …

0

Unable to read handle information

  The easiest way to generate a dump file is using Task Manager. All you have to do is to find the correct process and then right click on it and choose the “Create dump file” menu item. When you start working on a dump file sooner or later you might want to check the…

0

Dump Dosyası İncelemeye Giriş

Merhaba,Uzun bir aradan sonra debugging ile ilgili serime devam ediyorum. Artık dump dosyalarını nasıl inceleyeceğimize geçeceğiz. Dump Alma ( Hang Mode – I ) yazımdaki yöntemle yanıt vermeyen bir uygulamanın dump’ını aldığınızı farz ediyorum. Start –> All Programs –> Debugging Tools for Windows(x86) –> WinDbg uygulamasını açın.File menüsünden “Open Crash Dump” seçeneğini tıklayın. Açılan gezgin penceresinden…

0

Ani Ölümler ve IFEO

Merhaba,Bugün uygulamaların ani ölümleri ile ilgileneceğiz. İngilizcesi, “Sudden death”. Uygulamanın çalışmaya başlar başlamaz kapanması anlamına geliyor. Bugüne kadar karşılaşmış olabilirsiniz. Uygulamaya çift tıklarsınız ancak uygulama açılmaz veya çok kısa bir süre görünür ve kapanır veya SCM (Service Control Manager) içinden bir servisi başlatırsınız ancak “service terminated unexpectedly” gibi bir hata alıyorsunuz veya servisin hiç başlamadığını…

0

Crash Mode, 1st/2nd chance exception, mini/full

Merhaba,Artık dump alma ile ilgili temel adımlara alıştığınızı umuyorum. Bu kez exception oluşturan uygulamaların dump’larının nasıl alınabileceğine değineceğim. “Dump Alma ( Hang Mode – I )” makalesindeki UITest.exe’yi kullanacağız. Uygulamayı çalıştıralım ve “AccessViolation” butonuna basalım. İşletim sistemi, versiyonuna bağlı olarak bir takım kurtarma girişimlerinde bulunabilir, size seçenekler sunabilir. Ama, sonuçta uygulama kapanacaktır :    …

0

Dump Alma ( Hang Mode - II )

Merhaba, Geçen sefer yanıt vermeyen ve işlemci zamanını az kullanan uygulamadan nasıl dump alınacağına değinmiştim. Bu kez yanıt vermeyen ancak işlemci zamanını çok kullanan bir uygulamadan nasıl dump alınabileceğini anlatacağım. İlk yazımda belirttiğim gibi uygulama yanıt vermez durumu gelince yapmamız gereken ne kadar işlemci zamanı kullandığına göz atmak olmalı. Geçen yazıda yayınladığım UITest.exe uygulamasını açın…

0

Dump Alma ( Hang Mode - I )

Merhaba,Bu yazımda sorun gösteren bir uygulamanın dump’ının nasıl alınabileceğini göstereceğim. Bu yazının ekinde sıkıştırılmış bir dosya bulacaksınız : UITest.zip. İçinde UITest.exe ve senaryolar.dll adlı iki dosya bulunuyor. UITest.exe uygulamasını kullanarak sorunlu durumları yaratacağız ve geçen yazıda kurduğumuz “Debugging Tools for Windows” araçlarıyla da dump dosyalarını üreteceğiz. Örnek uygulamayı çalıştırmak için : Ekteki dosyayı istediğiniz dizine…

0