Memory debugger: Difference between revisions

Content deleted Content added
No edit summary
minor clarifications and remove tools that aren't debuggers.
Line 1:
{{refimprove|date=December 2011}}
 
A '''memory debugger''' is a [[debugger]] for finding software memory problems such as [[memory leak]]s and [[buffer overflow]]s. These are due to [[Software bug|bugs]] related to the allocation and deallocation of [[dynamic memory]]. Programs written in languages that have [[Garbage collection (computer science)|garbage collection]], such as [[managed code]], might also need memory debuggers, e.g. for memory leaks due to "living" references in collections.
 
==Overview==
Line 9:
 
==List of memory debugging tools==
This is a list of [[Programming tool|tools]] useful for memory debugging. A [[profiling (computer programming)|profiler]] can be used in conjunction with a memory debugger. Some [[static code analysis]] [[List of tools for static code analysis|tools]] can also help find memory errors.
 
{|class="wikitable sortable"
Line 48:
| C++
| Runtime intercepts or compile-time
|-
|[[Coverity]]
|Windows, Unix, Linux, Mac OS<ref>{{Cite web|url=https://www.synopsys.com/software-integrity/support.html|title=Support|website=www.synopsys.com|language=en|access-date=2017-08-22}}</ref>
|Proprietary commercial
|C, C++, C#, Objective C, Fortran, Java, JS
|[[Static program analysis]]
|-
| [[Daikon (system)|Daikon]]
Line 132 ⟶ 126:
| C, C++, Fortran
|
|-
| [[Splint (programming tool)|Splint]]
| Any
| Free/open source (GPL)
| C
| [[Static program analysis]]
|-
| [[TotalView]]