> -- Rifat писал(а):
> Еще один аргумент против отладчика: отладчики (насколько я знаю) плохо справляются со случаем параллельности. Как отлаживать параллельную программу в отладчике!?!А доказательный подход позволяет разработать правильную параллельную программу.
В gdb (с которым я работал очень мало) можно по выбору останавливать один тред или все. MSVS останавливает все (правда, не обязательно сразу). CL останавливает только один. Думается, что проблемы gdb с отладкой параллельных программ связаны либо с ограниченными возможностями коммуникации (трудно остановить тред достаточно быстро без готовности со стороны самого треда), или с ошибками в самом gdb. Но конечно, да, семантика пошаговой отладки может разрушиться в многонитевой программе. Хотя если речь идёт о параллельности в разных процессах, я запускал одновременную отладку клиента JS и сервера на node.js - двумя отладчиками. Если поставить достаточно брекпойнтов, можно увидеть то, что нужно.