Hedefler

Hata ayıklayıcı altyapısı farklı hedef türlerinde, kullanıcı modu ve çekirdek modu hedeflerinde, canlı hedeflerde ve kilitlenme bilgi dökümü dosyalarında ve yerel ve uzak hedeflerde hata ayıklamayı destekler. Motoru bu farklı hedef türlerine bağlamak için farklı yöntemler vardır.

Çökme Dökümü Dosyaları

Hem kullanıcı modu hem de çekirdek modu kilitlenme dökümü dosyaları OpenDumpFile ile açılır. Altyapı ayrıca WriteDumpFile2 ile bir hedeften döküm dosyaları oluşturabilir.

Canlı, User-Mode Hedefleri

Hata ayıklayıcı altyapısı hem kullanıcı modu işlemleri oluşturabilir hem de bu işlemlere bağlanabilir.

İşlem oluşturma işlemi, yeni işlem için bir komut satırı ve isteğe bağlı olarak bir ilk dizin ve ortam sağlayarak gerçekleştirilir. Motor daha sonra yeni işleme bağlanabilir veya başka bir işleme bağlanırken yeni işlemi askıya alabilir. Örneğin, hem istemci hem de sunucudan oluşan bir uygulamada hata ayıklarken, askıya alınmış durumda bir istemci oluşturmak ve zaten çalışan bir sunucuya eklemek mümkündür; böylece istemci çalışmadan ve sunucu işlemlerini tetiklemeden önce sunucu kesme noktalarının ayarlanmasına olanak sağlanır.

Bir işlemden ayrılırken, motor isteğe bağlı olarak işlemi normal çalışır durumda bırakabilir, işlemi sonlandırabilir veya işlemi terk edebilir (başka bir hata ayıklayıcı bağlanana ya da işlem sonlandırılana kadar askıda bırakılabilir).

Motor, işlem kimliği ve işlemi başlatmak için kullanılan yürütülebilir görüntünün adı dahil olmak üzere, bilgisayarda çalışan tüm kullanıcı modu işlemleri hakkında bilgi sorgulanabilir. Bu bilgiler hata ayıklama işleminin bulunmasına yardımcı olmak için kullanılabilir.

Canlı Yayın, Kernel-Mode Hedefleri

AttachKernel yöntemi, hata ayıklayıcı altyapısını bir Windows çekirdeğine bağlar.

Uzak Hedefler

Uzaktan hata ayıklamak için hata ayıklayıcı altyapısı kullanılırken, olası iki ek adım vardır:

  1. Ana bilgisayar motoruna bağlanın. Ev sahibi motor yerel motor örneği değilse, ev sahibi motora bağlı bir istemci nesnesi oluşturmak için DebugConnect'i kullanın.

  2. Ana bilgisayar motorunu işlem sunucusuna veya çekirdek bağlantı sunucusuna bağlayın. Ana makine doğrudan hedefe bağlanmıyorsa, hedefle bağlantı kuran bir işlem sunucusuna veya çekirdek bağlantı sunucusuna bağlanması gerekir.

Artık istemci, ana motor için işlem sunucusu veya çekirdek bağlantı sunucusu aracılığıyla bir hedef edinmesi için komut verebilir.

Hedefleri Alma

Bir hedef elde edilirken, hedef bir olay oluşturana kadar hedefin alınması tamamlanmaz. Genellikle bu, önce hata ayıklayıcıyı hedefe eklemek için bir yöntem çağırmak, ardından hedefin bir olay oluşturmasına izin vermek için WaitForEvent çağrısı yapmak anlamına gelir. Hedef çökme döküm dosyası olduğunda bu hâlâ geçerlidir, zira bunlar her zaman döküm dosyasının oluşturulmasına neden olan olayı depolar.

Ek Bilgiler

Hedeflere ekleme hakkında ayrıntılı bilgi için bkz. Hedeflere Bağlanma.