Dans le cas de programmes threadés, ca peut. L'utilisation d'un debugger change pas mal la donne, notamment niveau scheduling, donc il y a certaine fois ou un programme peut fonctionner avec un debugger mais pas dans la "normalité", et la, y'a pas grand chose si ce n'est tenter des printf.
Ou pour les plus expérimentés, dtrace, qui va devenir une référence dans ces cas là je pense. Mais ca reste une niche pour l'instant, vu que ca ne fonctionne que sous solaris (ni nunux, ni *BSD).