2008-11-02 15 views
8

Uygulamamız, DCOM'dan (0x80010100) Sistem Çağrısı Başarısız RPC hatası alıyorsa, hedef iş parçacığının ileti sırasının dolduğundan şüpheliyiz (bu durumun ture olmadığı konusunda emin değilim). Kuyruğun limited to 10,000 messages olduğunu biliyorum ve yaygın sayılarda bu sayıya yakın olup olmadığımızı görmek istiyorum. Bir iş parçacığının ileti sırasının boyutunu izlemek için bir yolu var mı?Bir iş parçacığının ileti sırasının boyutunu izleyebilir miyim?

Bulduğum en umut verici seçenek GetQueueStatus idi, ancak bu sıradaki iletilerin sayısını yalnızca bunların türlerini içermiyor.

cevap

5

Kuyruk kuyruğunun boyutunu izlemenin herhangi bir yolunu (çekirdek hata ayıklayıcısını kullanmama ve TIB + 'da [0x40] dahili olarak yapılan Win32Thread veri yapısında bozulma) kısa bir süreliğine bilmiyorum.

Hata ayıklama amacıyla, hatayı aldığınızda sıranın dolup dolmadığını kontrol etmek için, bir PostThreadMessage yapmayı deneyin. Eğer dolu ise, çağrı GetLastError() == 0x718 ile başarısız olmalıdır. (Bu komutu işlemek için yeterli kota yok.)

İlgili konular