Может, кто-нибудь подскажет, как проверить последнее место, где застряла моя программа.Это можно сделать с помощью gdb или любого системного вызова UNIX, который может работать в этом процессе.Вот ситуация.
У меня есть клиентский серверный код TCP с 6 клиентскими процессами и 6 серверными процессами (есть клиентская и серверная программа, и для выполнения в эксперименте создается 6 копий каждого)что некоторые из клиентов (2-4) застряли недетерминированным образом.У нас есть последовательный цикл for в каждом клиенте, который взаимодействует случайным образом с одним из серверов одновременно.Но после некоторых итераций в конце цикла клиент застревает.Я установил дисплеи, но он говорит мне, что код просто отказывается перейти к началу следующей итерации, хотя он завершил предыдущую итерацию.Когда я выполняю 'top -p', этот клиент показывает 100% загрузку ЦП и остается таким всегда.Около 98% использования простаивает.У любого есть идея с этим:)
ура ... Раман