调试预处理代码

时间:2012-06-07 14:12:11

标签: visual-studio-2010 debugging preprocessor visual-studio-debugging

我正试图逐步完成一个具有两阶段预处理阶段的C项目(fossil-scm)。

首先,有一个自定义构建的预处理程序,它通过文件修复某些特定于项目的宏,创建包含标题以及其他一些内容。它会创建一堆.c.h个文件。然后像往常一样编译结果,通过“常规”预处理器。

我从第一部分中获取结果并从中创建了一个visual-studio项目。当我尝试调试它时,它正在跳过我的断点。我发现每个文件都以

开头
#line 1 "src/original_filename.c"

我可以注释掉这一行并让调试工作,但我宁愿使用这一行来在原始环境中进行调试。

于是......
如何设置它以便编译已处理的文件,但使用#line指令为我提供原始文件中的调试功能?
我尝试将src目录放在文件旁边,如果我按F10启动程序,它就有效,但我不知道如何将原始文件放入项目资源管理器中,以便我可以轻松地打开它们并放置断点,而无需编译器尝试编译它们。

1 个答案:

答案 0 :(得分:1)

从我使用Visual Studio 2012的实验(2010可能表现相似),在“原始”源文件(“实际”源文件中的#line指令引用的源文件)中设置断点仅在以下情况下正常工作:

1)我将“原始”源文件添加到项目中。 (例如,添加 - >现有项目......)

2)我从构建中排除了“原始”源文件。 (例如,右键单击 - >属性 - >从构建中排除=是)

有点迟到的答案,但我希望这有助于某人。