有没有办法在Visual Studio中调试预处理代码

时间:2010-09-24 09:46:23

标签: visual-studio visual-c++ preprocessor

我有一个我想调试的可视化C ++项目。但是,实际上通过宏扩展生成了几个函数(例如,为特定属性设置## Name)。因此,在调试时我无法遵循这些生成函数内的执行流程。

我是否必须使用/ P标志然后调试预处理代码?

1 个答案:

答案 0 :(得分:2)

您必须在其他项目中使用/P标志预处理代码(或者在命令行中,如果您想要拼写出所有包含和库文件夹),然后编译此预处理代码而不是真实项目中的源文件。然后你可以通过它进行调试。

那说,一旦你在它,你不能消除宏?使用constinline和模板,我很少觉得需要使用宏,如果我这样做,它通常是非常小的,孤立的代码片段。这些要么太简单而不需要调试,要么我用它生成的代码手动替换宏的一个实例并进行调试。 (但是,在过去十年中,这可能发生在我身上三次。)