znam odpowiedź na to, Kładę go tutaj dla innych, aby zobaczyć toWielowątkowe debugowanie Eclipse CDT nie jest optymalne - jak można uruchamiać wyłącznie wątki?
Jeśli używasz Eclipse CDT, prawdopodobnie zrozumieć, że zaćmienie nie jest debugger, to po prostu aplikacja przód- koniec, w szczególności do GDB. Tak więc podczas debugowania programów w C++, faktycznie używasz GDB w bardziej komfortowy sposób. Jeśli kiedykolwiek będziesz musiał debugować program wielowątkowy w Eclipse CDT, uświadomisz sobie, że rzeczy szybko stają się gorączkowe, ponieważ kiedy trafisz w punkt przerwania, wszystkie wątki zatrzymują się, a gdy spróbujesz wykonać pojedynczą linię w określonym wątku, to działa również pozostałe wątki. Aby działał poprawnie, wątki muszą być uruchamiane arbitralnie i wyłącznie - tak, że gdy programista wykonuje pojedynczą linię, wykonuje tylko określony wątek.
Domyślnie, ustawienia gdb domyślnie wyłączają "blokadę harmonogramu". Jeśli debugujesz aplikacje wielowątkowe, zrozumiesz, że musi to być w GDB, aby uzyskać pożądane zachowanie. Jak uruchomić tę komendę:
set scheduler-locking on
w GDB w obrębie Zaćmienia CDT?
Jak dokładnie wykonujesz skrypt GDB z poziomu Eclipse? – rbaleksandar