05 Aralık 2021, 20:39:07

Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H


Thread injection - execute içinde

Başlatan Kılıç, 01 Nisan 2020, 21:16:15

Kılıç



ThreadTerminate fonksiyonu işe yaramadığı durumda, Çalışan ve execute esnasında kilitlenmiş bir thread, dışarıdan şu yöntemle sonlandırılabiliyor.

Thread suspend edilerek
eip register adresi dışarıdaki bir prosedür adresine veya OnTerminate adresine yönlendiriliyor. Sonra resume yapıldığında thread bitmiş oluyor.

Fakat ben threadi tamamen öldürmemek için, execute başlangıcında sorunsuz halde iken eip bilgisini aldım. Kilitlenme olduğunda bu eip noktasından başlasın sorunsuz devam etsin istiyorum. Fakat olmuyor. 

Kısaca execute olayına dışarıdan müdahale ederek yine execute içindeki başka bir noktaya gitmesini nasıl sağlarım? PIC deki watchdog benzeri düzen arayışındayım. Unutmayalım ki bu esnada execute olayı kilitlenmiş ve kendine faydası yok haldedir. If vs çalışmıyor.
auto-reverse recording

tunayk

Hocam threadi başa almakla yeni thread başlatmak arasında pek bir fark yok aslında. Hani desen ki kilitlenen thread deki yapılan işler boşa gitmesin, gelinen noktayı global değişkenlerde tutarsın, yeni thredde bunları okut ve eski noktadan devam etmiş olur.

Kılıç

02 Nisan 2020, 02:39:30 #2 Son düzenlenme: 02 Nisan 2020, 02:41:49 Kılıç
 Mevcut durumda kilitlenen Threadi sonlandırıp yeniden başka oluşturuyorum. fakat bunların sayısı arttıkça hafıza şişmesi oluyor. windows görev yöneticisinden görülüyor. Abartıp 1000 thread oluşturup silip tekrar oluşturuyorum. hafızada kalıntı oluyor. 

Program belki çok uzun süre açık kalacak. böyle bir hafıza sorunu olmaması gerekiyor.
auto-reverse recording

brandice5

Gittiğiniz yol doğru değil gibi. Sizin probleminiz thread'den ziyade memory leak.
Ben olsam kitlenen threadi sonlandırmak yerine, neden kitlendiğini bulup kitlenmesini engellerdim.

Yasal Uyarı: Picproje.org sitemizde 5651 sayılı kanunun 8. maddesine ve T.C.Knın 125. maddesine göre tüm üyelerimiz yaptıkları paylaşımlardan kendileri sorumludur. Picproje.org hakkında yapılacak tüm hukuksal şikayetleri İletişim sayfamızdan bize bildirdikten en geç 3 (üç) iş günü içerisinde ilgili kanunlar ve yönetmelikler çerçevesinde tarafımızca incelenerek gereken işlemler yapılacak ve site yöneticilerimiz tarafından bilgi verilecektir.