2011-01-27 10 views
9

Visual Studio'daki TÜM iş parçacıklarının yığınlarını nasıl arayabilirim? Hata ayıklamak için bir sunucu işlemimiz var ve yüzlerce iş parçacığı çalışıyor, bu yüzden her bir iş parçacığını el ile denetlemek zor olmalı.Visual Studio'daki tüm iş parçacıklarının çağrı yığınlarını nasıl dökümler veya aramalı

gdb'de "iş parçacığı" uygulamasının bu tür şeyleri yapabileceğini biliyorum. Bu yüzden görsel stüdyonun hata ayıklayıcısında benzer bir şey olduğunu merak ediyordum.

Ayrıca Visual Studio 2005 kullanıyordum, bu yüzden lütfen VS 2005 için bir çözüm (tüm çağrı yığınlarında arama VS 2010'da sağlanır ...) verin.

cevap

2

Daha sonra myapp.dmp WinDbg kullanarak cevap,

İlk VS ayıklama oturumu, diyelim bir mini döküm kaydetmek bulundu

Sonra

out.txt tüm çağrı yığını dökümünü almak için aşağıdaki komutu kullanarak

cdb -zc: \ myapp.dmp -logo out.txt -lines -c "~ * kb; q" -yc: \ sembolleri

14

Sadece VS2005'de de aynı sorunu yaşadım. Ben daha basit bir çözüm buldum: VS komut penceresi açık ayıklama ve komutunu kullanın ederken: Debug.ListCallStack/AllThreads

ben bu bulundu: http://blogs.msdn.com/b/greggm/archive/2005/08/02/446899.aspx

+0

İyi, ancak yalnızca yazdırmak gibi görünüyor uyardı Yönetilen bir kimliğe sahip konuları dışa aktarın. Saf yerel konuları içermez. – Weeble

+0

Hmmm. Sanırım orada yanılıyorum ama neden tüm konularımı ilk kez basmadığını anlamıyorum ... – Weeble

+1

Komut pencereniz kaybolduysa, buradan ulaşabilirsiniz: 'Görünüm -> Diğer Windows -> Komut Penceresi –