GDB имеет серьезные проблемы при отладке несколькими потоками (pthreads). Есть ли другие хорошие многопоточные отладчики для C/C++ на * nix?Многопоточный отладчик
ответ
Из моего поиска я не нашел хороших многопоточных отладчиков для * nix. Кажется, что GDB улучшается, и в последний раз, когда мне приходилось отлаживать многопоточное приложение на FreeBSD (7.0-RELEASE), он вел себя довольно хорошо, позволяя мне найти, где была ошибка.
Я когда-то искал альтернативу gdb, но, к сожалению, каждый, кого я нашел, был основан на gdb. Я думаю, это связано с тем, что gdb замысловато привязан к gcc, и сторонним отладчикам сложно поддерживать все изменения gcc.
TotalView Это то, что национальные лаборатории используют для огромных кластеров. Я считаю, что у него есть хорошая поддержка параллельности потоков. Вероятно, это из-за вашего ценового диапазона, но вы можете попробовать его бесплатно.
У меня лично не было проблем с GDB при отладке многопоточного приложения, поэтому вам может быть полезно выяснить, какие именно «проблемы» у вас есть. Это поможет нам лучше ответить.
Есть несколько вспомогательных средств, которые я использовал в прошлом при отладке многопоточных приложений в Linux, большинство из которых основаны на GDB, а не заменяют его. К ним относятся:
- DDD http://www.gnu.org/software/ddd/
- Затмение http://www.eclipse.org/
- Библиотека потоков POSIX (NTPL) инструмент трассировки http://nptltracetool.sourceforge.net/
Кроме того, если вы новичок в отладке в Linux (и даже если вы нет!) Я настоятельно рекомендую документ под названием «Отладка приложений Linux», который вы можете найти здесь:
http://www.scribd.com/doc/3009706/Debugging-Linux-Applications
Allinea DDT ... графический отладчик для скалярных многопоточных и широкомасштабных параллельных приложений, написанных на языках C, C++ и Fortran.
Отладчик AIX для окон, давайте отлаживаем многопоточные приложения.
Это также должно быть указано «gdb». – jfm3 2008-09-16 21:59:23