Разумно ли предположить, что среднее поведение планирования ОС между этапами GDB сравнимо со средним поведением планирования ОС, когда нет перехода
Не совсем.Среднее поведение «не наступая» приведет к тому, что потоки либо исчерпают свои временные кванты, либо заблокируют системные вызовы.В случае «пошагового» потока маловероятно, что у каждого из них закончатся кванты времени (поскольку временное расстояние между шагами, вероятно, будет очень коротким).Таким образом, среднее поведение, вероятно, будет сильно отличаться.
как я могу получить точное представление о потоке многопоточной программы и состоянии программы в отдельных точках моей программы?
Как правило, вам не нужно заботиться о многопоточной программе flow .Таким способом невозможно отладить многопоточные программы.
При многопоточном программировании вы должны заботиться о сохранении инвариантов (каждый ресурс, к которому могут обращаться несколько потоков, защищен от скачек данных и т. Д.).Если вы это сделаете, ваша программа будет просто работать (TM).Если вы этого не сделаете, вы вряд ли найдете все способы, которыми программа все равно будет себя вести.