Valgrind

  • 1,702 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,702
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
20
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Valgrind Alejandro García Castro
  • 2. List of topics
    • Review
    • Common parameters
    • Common errors checking memory
    • Leak types
  • 3. Introduction
    • Instrumentation framework to build analysis tools
    • It has tools that allows you to debug and profile programs
    • Very commonly used in a lot of projects and companies
    • CAUTION: Veeery slow!!
  • 4. Tools
    • It includes tools for:
      • memory error detector (memcheck (default)
      • thread error detector (hellgrind)
      • cache and branch-prediction profiler (cachegrind)
      • call-graph generating cache profiler (callgrind)
      • heap profiler (massif)
  • 5. Usual parameters
    • num-callers
    • db-attach
    • trace-children
    • suppressions
  • 6. Common errors
    • Illegal read / Illegal write errors
    • Use of uninitialized values
    • Illegal frees
    • When a block is freed with an inappropriate deallocation function
    • Passing system call parameters with inadequate read/write permissions
  • 7. Common errors (II)
    • Overlapping source and destination blocks
    • Memory leak detection
  • 8. Leak types
    • Still reachable: A pointer to the start of the block is found
    • Possibly lost, or "dubious": A pointer to the interior of the block is found.
    • Definitely lost, or "leaked": The worst outcome is that no pointer to the block can be found.
  • 9. References
    • http://valgrind.org/