This is an inevitable consequence of building an optimized compiler (you can build it unoptimized, but generally that's too slow to be useful from what I understand, though I've never tried it myself).
The conventional way of getting at values like this inside rustc is to use debug!() logs.
then is it conventional to use a debugger at all? or should I just learn how to use logs? the way I find it difficult to rely on logging all the time is recompilation overhead is a bit too high. any suggestions?
This is one of the huge pains of working on rustc. I really wish the compiler only had to be built once instead of twice, because then using a slow, unoptimized compiler would be practical (for debugging, at least).
Is it possible to use an optimized build for stage 1 but a unoptimized build for stage 2? If so that would help.