Your SlideShare is downloading. ×
Valgrind
Valgrind
Valgrind
Valgrind
Valgrind
Valgrind
Valgrind
Valgrind
Valgrind
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Valgrind

1,748

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,748
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
21
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/

×