如何调试预处理器宏

时间:2016-07-11 11:08:50

标签: c debugging c-preprocessor

我最近遇到了this project。代码主要用C语言编写,API只包含几个C函数。不幸的是,该项目似乎包含一些错误,特别是我不断得到“双重免费或腐败”错误。我正在尝试使用valgrind和gdb来找出问题所在。问题似乎是在内存分配器中。不幸的是,第一个valgrind错误发生在头中定义的约400行长预处理器宏中。不幸的是,gdb无法破坏生成的代码。堆栈跟踪也不是很有用。有没有什么技术可以用来处理这类错误?

1 个答案:

答案 0 :(得分:1)

在线编译器Wandbox.org具有“CPP”模式,对于试验C预处理器非常有用。

请在此处查看示例:https://wandbox.org/permlink/tFUsKMIXaQj8hhte

您可以使用gcc -Pcl.exe /E

离线执行相同的操作