2010-02-10 28 views

cevap

6

valgrind bir sinyal göndermek için, pkill -USR1 valgrind benim için çalışmak istemiyor.

pkill -USR1 MemCheck

hile yapmak.

3

Valgrind'e bellek kullanım durumunu kontrol etmesini söyleyen bir sinyal yok. Zamanında programın kullandığı bellek miktarıyla ilgileniyorsanız ve bu belleğin tahsis edildiği durumlarda, valginin massif aracı bu bilgiyi kaydedebilir, daha sonra ms_print yardımcı programını kullanarak görüntülenebilir. Massif, bellek kullanımının en yüksek olduğu noktayı temsil eden bir tepe anlık görüntüsü (varsayılan seçenekleri kullanarak% 1 dahil) dahil olmak üzere programın çalışması boyunca otomatik olarak programın bellek kullanımının anlık görüntülerini kaydeder.

Valgrind en masif aracı altında programınızı çalıştırmak için:
valgrind --tool=massif yourprogram 

bir ikili dosya massif.out.pid

oluşturulacaktır. metin şeklinde bilgi biçimlendirmek için ms_print kullanın:

ms_print massif.out.12345 
+0

Ah, teşekkürler. Programımın çıkmak için 40 numaralı bir sinyali kabul etmesi gerekiyor. Bu bir sunucu sunucusudur, bu yüzden çıkış yapmamın tek yolu bir sinyal 40 göndermektir ve sig işleyici programın çıkmasını sağlar. Bu yüzden, bellek kullanımını valgrind'de kontrol ettiğimde, ona bir sinyal göndermenin bir yolunu bulamıyorum çünkü o programın hiçbir süreci yoktur. Zaten programıma bir sinyal gönderebilir miyim? Teşekkürler! –

+1

Eğer programı programınızı çalıştıran valgrind işlemine gönderirseniz, o zaman bu program sizin programınızın sinyal işleyicisine iletecektir. – mark4o

İlgili konular