czerny,
if the problem comes from preprocessor there is no difference between warnings and debuging. The wrong line numbers are the same used to generate debugging information in the executable that are then used by the debugger.
Anyway have you tryied to change something in the beginning of the file, specifically includes and defines especially if they are multiline defines?