Of the potential warnings you mentioned, I’ve only ever seen the first (unreferenced variable). The last would never show up since scalar variables are initialized for you (numbers to 0, boolean to false, and strings to empty).
Dead code stripping is done behind the scenes. If you have a module that is never accessed within your project, that module is not included in the build. That is probably why the debugger doesn’t see it, because it’s literally not there. (I guess.)