是否有适用于Linux的AppVerifier或Driver Verifier?

时间:2009-04-18 11:11:25

标签: linux testing

我希望有人可以指向Linux软件,类似于Microsoft工具Application VerifierDriver Verifier。 (它们分别是Windows应用程序和驱动程序的压力测试程序。)

Linux存在这样的事情吗?

1 个答案:

答案 0 :(得分:4)

我根本不熟悉Application Verifier和Driver Verifier ......

对于应用程序,Valgrind非常有用,可用于检查泄漏,释放后使用,双重释放,缓冲区溢出,使用单位化数据,不安全的并发数据访问等等。

还有许多fuzzerszzuffusil等等,用于测试程序对无效输入的重复性。

GCC本身有-fstackprotector,它支持SSP(堆栈粉碎保护器,又名ProPolice); -fmudflap,用于检测其他一些不良内存使用情况;和(与glibc-D_FORTIFY_SOURCE= n 结合使用,可以对各种字符串和内存函数进行额外检查。

在Linux内核中,“Kernel hacking”菜单下有许多配置开关:

  • CONFIG_DEBUG_SLABCONFIG_DEBUG_PAGEALLOC等,确保分配,使用和释放内存
  • CONFIG_DEBUG_OBJECTS,用于检查对象的使用情况并有序释放
  • kmemcheck,“Valgrind for the kernel”
  • CONFIG_PROVE_LOCKING,分析所有可能的死锁
  • CONFIG_DEBUG_PREEMPTCONFIG_DEBUG_MUTEXESCONFIG_DEBUG_SPINLOCKCONFIG_DEBUG_SPINLOCK_SLEEP等,警告不当使用锁定
  • CONFIG_FAULT_INJECTION & co.,其概率导致内存分配和I / O失败