Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
CDB kullanarak çalışan bir işleme bağlanabilir veya yeni bir işlem oluşturup ekleyebilirsiniz.
Çalışmakta olan bir sürece ekleme
komut istemini
Komut İstemi penceresinde, CDB'yi başlattığınızda çalışan bir işleme ekleyebilirsiniz. Aşağıdaki komutlardan birini kullanın:
- cdb -pProcessID
- cdb -pnProcessName
burada ProcessID çalışan bir işlemin İşlem Kimliği veya ProcessName, çalışan bir işlemin adıdır.
Komut satırı söz dizimi hakkında daha fazla bilgi için bkz. CDB Command-Line Seçenekleri.
CDB Komut Penceresi'ni
Hata ayıklayıcı zaten bir veya daha fazla işlemde hata ayıklarsa, .attach (İşleme Ekle) komutunu kullanarak çalışan bir işleme ekleyebilirsiniz.
Hata ayıklayıcı, iş parçacıklarının bazıları dondurulmuş veya askıya alınmış değilse, her zaman aynı anda birden çok hedef işlemi başlatır.
.attach komutu başarılı olursa, hata ayıklayıcı bir sonraki hata ayıklayıcı yürütme komutunu verdiğinde belirtilen işleme bağlanır. Bu komutu art arda birkaç kez kullanıyorsanız, hata ayıklayıcı tarafından yürütme, bu komutu kullandığınız kadar talep edilmelidir.
Çalışan bir İşleme Müdahalesiz İliştirme
Çalışan bir işlemin hatalarını ayıklamak ve yürütülmesine mümkün olan en az müdahaleyle karışmak istiyorsanız, işlemenoninvaziv bir şekilde hata ayıklamanız gerekir.
komut istemini
CDB komut satırından çalışan bir işlemin hatalarını ayıklamak için aşağıdaki söz diziminde -pv seçeneğini, -p seçeneğini ve işlem kimliğini belirtin.
cdb -pv -pProcessID
Alternatif olarak, invaziv olmayan bir şekilde çalışan bir işlemin hatalarını ayıklamak için işlem adını belirterek bunun yerine aşağıdaki söz dizimini kullanın.
cdb -pv -pnProcessName
Diğer birçok yararlı komut satırı seçeneği vardır. Komut satırı söz dizimi hakkında daha fazla bilgi için bkz. CDB Command-Line Seçenekleri.
CDB Komut Penceresi'ni
Hata ayıklayıcı zaten etkinse, .attach -v (İşleme Ekle) komutunu girerek çalışan bir işlemi müdahalesiz olarak hata ayıklayabilirsiniz.
Hata ayıklayıcı zaten bir veya daha fazla işlemde invaziv olarak hata ayıklarsa .attach komutunu kullanabilirsiniz.
.attach -v komutu başarılı olursa, hata ayıklayıcısı bir sonraki yürütme komutu yayınlandığında belirtilen işlemde hata ayıklar. Girişimsiz hata ayıklama sırasında çalıştırmaya izin verilmediğinden, hata ayıklayıcı aynı anda birden fazla süreç üzerinde girişimsiz hata ayıklama yapamaz. Bu kısıtlama ayrıca .attach -v komutunun kullanılması, mevcut bir invaziv hata ayıklama oturumunu daha az kullanışlı hale getirebileceği anlamına gelir.
yeni bir işlem oluşturma
CDB, kullanıcı modu uygulamasını başlatabilir ve ardından uygulamada hata ayıklayabilir. Uygulama adına göre belirtilir. Hata ayıklayıcı, alt işlemlere (özgün hedef işlemin başlattığı ek işlemler) otomatik olarak bağlanabilir.
Hata ayıklayıcının oluşturduğu işlemler (oluşturulan işlemler olarak da bilinir) hata ayıklayıcının oluşturmadığı işlemlerden biraz farklı davranır.
Standart yığın API'sini kullanmak yerine, hata ayıklayıcının oluşturduğu işlemler özel bir hata ayıklama yığını kullanır. _NO_DEBUG_HEAP ortam değişkenini veya -hd komut satırı seçeneğini kullanarak, oluşturulan bir işlemi hata ayıklama yığını yerine standart yığını kullanmaya zorlayabilirsiniz.
Ayrıca, hedef uygulama hata ayıklayıcının alt işlemi olduğundan, hata ayıklayıcının izinlerini devralır. Bu izin, hedef uygulamanın aksi takdirde gerçekleştiremediği belirli eylemleri gerçekleştirmesini sağlayabilir. Örneğin, hedef uygulama korumalı işlemleri etkileyebilir.
Komut İstemi penceresinde, CDB'yi başlattığınızda yeni bir işlem oluşturabilirsiniz. Aşağıdaki komutu girin.
cdb [-o]ProgramName[Arguments]
-o seçeneği, hata ayıklayıcının alt işlemlere bağlanmasına neden olur. Diğer birçok yararlı komut satırı seçeneği vardır. Komut satırı söz dizimi hakkında daha fazla bilgi için bkz. CDB Command-Line Seçenekleri.
Hata ayıklayıcı zaten bir veya daha fazla işlemde hata ayıklarsa, .create (İşlem Oluştur) komutunu girerek yeni bir işlem oluşturabilirsiniz.
Hata ayıklayıcı, iş parçacıklarının bazıları dondurulmuş veya askıya alınmış olmadıkça her zaman eşzamanlı olarak birden çok hedef işlemi başlatır.
.create komutu başarılı olursa, hata ayıklayıcısı bir sonraki yürütme komutu yayınlandığında belirtilen işlemi oluşturur. Bu komutu art arda birkaç kez kullanırsanız, hata ayıklayıcı tarafından her kullanımda yürütme talep edilmelidir.
.createönce .createdir (Oluşturulan İşlem Dizinini Ayarla) komutunu kullanarak uygulamanın başlangıç dizinini denetleyebilirsiniz. Hedef uygulamanın hata ayıklayıcının tanıtıcılarını devralıp devralmadığını denetlemek için .createdir -I komutunu veya -noinh komut satırı seçeneğini kullanabilirsiniz.
.childdbg (Alt İşlemlerde Hata Ayıkla) komutunu kullanarak alt işlemlerin hata ayıklamasını etkinleştirebilir veya devre dışı bırakabilirsiniz.
Bir Sürece Yeniden Bağlanma
Hata ayıklayıcısı yanıt vermeyi durdurursa veya donarsa, hedef işleme yeni bir hata ayıklayıcı ekleyebilirsiniz. Bu durumda hata ayıklayıcı ekleme hakkında daha fazla bilgi için bkz. Hedef Uygulamaya Yeniden Bağlanma.