如何通过静态分析(不使用任何工具)检测第三方C代码中的内存泄漏。 就像我们如何验证分配的内存已经被释放而不使用任何工具?如何通过静态分析(不使用任何工具)检测巨大C代码中的内存泄漏
0
A
回答
3
如果你不打算使用任何工具,那么你所能做的就是读取代码,并考虑它的执行方式。
- 是否有任何角落的情况下,资源分裂为很少采用的路径,可能无法释放资源?
- I/O如何,可以失败并导致意外的路径被采取?
当然,没有使用任何工具,这是一个非常奇怪的限制。
1
从绝对的角度来说,“你不能”。
你怎么能发现这个代码泄漏(它没有意义,它只是为了让你理解)。 如果用户将1作为命令行参数传递,则代码不会泄漏。 但是,如果他通过2 ...
int main(int argc, const char * argv[]) {
//insert code here...
int numberOfLoops = atoi(argv[1]);
int i = 0;
void *ptr;
for (i = 0; i <= numberOfLoops; i++) {
ptr = malloc(sizeof(int));
printf("loop\n");
}
free(ptr);
return 0;
}
相关问题
- 1. C++静态和动态内存泄漏检测工具如何工作?
- 2. 静态分析器 - 内存泄漏
- 3. 内存泄漏检测和分析工具
- 4. 任何工具来检测哪个DLL泄漏内存?
- 5. C++内存泄漏,如何检测
- 6. 用于确定c/C++代码中内存泄漏的工具
- 7. 内存泄漏检测工具
- 8. 本机内存泄漏分析工具
- 9. 视觉工作室的静态代码内存泄漏检测vC++
- 10. 分析结果VS泄漏的工具:iPhone内存泄漏
- 11. c#内存泄漏分析
- 12. 任何Java静态代码分析器,可以找到内存泄漏的Java代码?
- 13. 巨大的CGMutablePathRef中的内存泄漏
- 14. C++代码内存泄漏
- 15. 如何使用ddms在C++代码中的内存泄漏
- 16. Xcode静态分析器不检测泄漏?
- 17. 内存泄漏没有检测到CRT内存泄漏检测
- 18. 如何在Java内存分析工具中找到内存泄漏行
- 19. 静态NSString内存泄漏
- 20. 内存泄漏不受静态分析器
- 21. 静态代码分析与动态代码分析工具?
- 22. Android:使用Eclipse内存分析器检测泄漏
- 23. 如何检测j2me内存泄漏?
- 24. 如何检测内存泄漏
- 25. 如何检测内存泄漏?
- 26. valgrind如何检测内存泄漏
- 27. 巨大的内存泄漏NSData
- 28. 巨大的内存泄漏NSBitmapImageRep
- 29. C++静态类和shared_ptr内存泄漏
- 30. C++ OpenMP代码中的内存泄漏
你问如何读取你的代码来发现内存泄漏?或者如何针对它进行编程? – StoryTeller
您能澄清“通过静态分析(不使用任何工具)”的概念吗?静态分析器是一种工具。您是否打算不使用任何静态分析器进行静态分析? –