Есть ли способ отладки предварительно обработанного кода в VisualStudio - PullRequest
1 голос
/ 24 сентября 2010

У меня есть визуальный проект C ++, который я бы хотел отладить.Тем не менее, несколько функций на самом деле генерируются раскрытием макроса (например, set ## Name для определенного свойства).Итак, во время отладки я не могу следить за потоком выполнения внутри этих сгенерированных функций.

Нужно ли использовать флаг / P, а затем отлаживать предварительно обработанный код?

1 Ответ

2 голосов
/ 24 сентября 2010

Вам придется предварительно обработать код с использованием флага /P в каком-либо другом проекте (или в командной строке, если вы хотите указать все папки include и библиотеки), а затем скомпилировать этот предварительно обработанный код вместо исходного кода.файл в вашем реальном проекте.Тогда вы можете отлаживать через него.

Тем не менее, как только вы это сделаете, вы не можете удалить макросы?С const, inline и шаблонами я редко испытываю необходимость прибегать к макросам, и если я это делаю, то это обычно очень маленькие, изолированные фрагменты кода.Они либо слишком просты для отладки, либо я вручную заменяю один экземпляр макроса кодом, который он генерирует, и отлаживаю его.(Однако это могло случиться со мной трижды за последнее десятилетие.)

...