我最近遇到了this project。代码主要用C语言编写,API只包含几个C函数。不幸的是,该项目似乎包含一些错误,特别是我不断得到“双重免费或腐败”错误。我正在尝试使用valgrind和gdb来找出问题所在。问题似乎是在内存分配器中。不幸的是,第一个valgrind错误发生在头中定义的约400行长预处理器宏中。不幸的是,gdb无法破坏生成的代码。堆栈跟踪也不是很有用。有没有什么技术可以用来处理这类错误?
答案 0 :(得分:1)
在线编译器Wandbox.org具有“CPP”模式,对于试验C预处理器非常有用。
请在此处查看示例:https://wandbox.org/permlink/tFUsKMIXaQj8hhte
您可以使用gcc -P
或cl.exe /E