2010-09-08 9 views
5

GDB, bir kesme noktasına ulaşıldığında normal olarak tüm dişleri durdurur (veya GDB kabuğunda Ctrl + C'ye basılır). Zamanlayıcı-kilitleme ve zamanlama-çoklu komut gibi komutların var olduğunun farkındayım, ama tanımlanmış bir iş parçacığının arka planda çalışmasına izin verilmezken diğerinin hata ayıklaması mümkün değildir.gdb içindeki tüm konuları durdurmuyor

cevap

9

Hedefiniz destekliyorsa, eşzamansız modu etkinleştirmek için set target-async on'u kullanabilirsiniz. Ardından, komutlarla arka plan yürütmeyi belirtebilirsiniz. Örneğin,

continue& 

tek bir iplik çalıştırmak için kullanılabilir ve

interrupt [-a] 

tek bir iplik ya da bütün program kullanımın yürütülmesi askıya almasını.

# If using the CLI, pagination breaks non-stop. 
set pagination off 

# Finally, turn it on! 
set non-stop on 
# Before debugging is started! 
+0

Mükemmel soruya cevap verir: diğerleri arka planda çalışmaya devam ederken

durmaksızın modu ile bağlantılı olarak, tek bir iş parçacığı inceleyebilirsiniz. Teşekkürler. – azraiyl