我正在开发一个嵌入式程序。我使用 avr-gcc 工具链从我的 MacBook Pro 编译 C 源代码。直到最近,事情进展顺利。不过,在我最新的开发迭代中,我似乎引入了某种间歇性错误,我怀疑这是某种堆栈或其他内存损坏错误。
我从未使用过 Valgrind,但它似乎得到了热烈的评价,但大多数参考文献似乎都提到了 malloc/free 类型的错误。我不做任何malloc'ing。这是一个小型嵌入式程序,没有操作系统。Valgrind 可以帮助我吗?任何关于我将如何使用它来帮助在交叉编译场景中查找静态内存管理不善错误的指针都会非常有帮助!
或者我应该考虑使用不同的工具或技术来验证我的代码的内存管理?