mina87: Tak prawde powiedziawszy to chyba najlepszy byłby IMHO zwykły checkbox w postaci:
[X] Trace external files
czyli śledzenia kodu plików nienależących do projektu. Po prostu: chcesz debugować jakiś plik, to go włączasz do projektu; nie chcesz, no to zostawiasz w spokoju :) Rozwiązanie proste i chyba nawet niezbyt trudne do implementacji (w końcu nietrudno sprawdzić, czy plik do którego tracing ma wejść, jest jeszcze w projekcie, czy już nie). Opcja ta byłąby oczywiścię włączona w Debug i wyłączona w Release.
Ewentualnie, jeżeli zachodziłaby jednak potrzeba dołączenia do projektu zewnętrznych plików, których śledzić nie chcemy, przydałaby się jeszcze możliwośc zrobienia wyjątków per plik. Natomiast ustawianie tego dla każdej klasy czy metody to już chyba troszkę za dużo :)
A co do pokawałkowania... Ja bym użycie takiej dyrektywy widział mniej więcej tak:
#pragma trace(off)
#include /* wszystkie nagłówki std, boost, windows, DX i czego tam dusza pragnie */
#pragma trace(on)
#include /* nagłowki naszego projektu */
a więc podobnie do wspomnianego .nolist i .list. W sumie dałoby dwie dodatkowe linijki w kilku nagłówkach projektu - wygodne zwłaszcza przy korzystaniu z PCH.
Regedit: Wyrażenie regularne? Mnie to wygląda raczej na wildcardsy, albo raczej na miks regexp i wildcardsów. Tak czy siak, nietrudno zgadnąć, że:
std\:\:.*
boost\:\:.*
załatwi większość problemów :) A programik to już chyba nadużycie ;P