我希望有人能给我指点一下类似微软工具Application Verifier和Driver Verifier的Linux软件。(它们分别是Windows应用程序和驱动程序的压力测试器。)
Linux有这样的功能吗?
发布于 2009-04-18 18:43:20
我对应用验证工具和驱动验证工具一点也不熟悉……
对于应用程序,Valgrind是一个非常有用的工具,用于检查泄漏、释放后使用、双重释放、缓冲区溢出、使用单元化数据、不安全的并发数据访问等。
还存在许多fuzzers (zzuf、fusil等)。测试程序对无效输入的恢复能力。
GCC本身有-fstackprotector,它启用了SSP (堆栈粉碎保护器,又名ProPolice);-fmudflap,它检测其他一些坏的内存使用情况;以及(与glibc一起) -D_FORTIFY_SOURCE=n,它对各种字符串和内存函数进行额外的检查。
在Linux内核中,在“kernel hacking”菜单下有许多配置开关:
确保内存被分配、使用和释放的
CONFIG_DEBUG_SLAB,sanelyCONFIG_DEBUG_OBJECTS,检查对象是否被使用和释放的orderlyCONFIG_PROVE_LOCKING,的Valgrind分析所有可能的deadlocksCONFIG_DEBUG_PREEMPT,lockingCONFIG_FAULT_INJECTION & co.,、CONFIG_DEBUG_MUTEXES、CONFIG_DEBUG_SPINLOCK、CONFIG_DEBUG_SPINLOCK_SLEEP等,警告不正确的lockingCONFIG_FAULT_INJECTION & co.,使用可能导致内存分配和I/O失败
https://stackoverflow.com/questions/763292
复制相似问题