Testing an Application for Memory Leaks Using Valgrind

45 minutes
  • 3 Learning Objectives

About this Hands-on Lab

In this hands-on lab, you will be evaluating an application for memory related issues. You have two applications with possible memory leak or other memory errors. In order to evaluate the applications, you will use the `valgrind –tool=memcheck` utiity to monitor the memory usage for each application. For the final task, you will launch a different application and use the `valgrind –tool=cachegrind` command to determine if the application in question has memory caching issues.

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Evaluate the evolk Application
  1. Use the valgrind memcheck.
  2. Include the following parameter information. You can refer to the Valgrind help or man pages for details.
    • Which tool to execute.
    • If the command should check for memory leaks.
    • Should reachable memory issues be included.
    • Set the number of callers to 20.
    • Track open file descriptors.
    • Write the results to stdout.
  3. Review the command output to determine if there are any memory leaks or errors.
Evaluate the evoerr Application
  1. Use the valgrind memcheck utility.
  2. Include the following information. You can refer to the Valgrind help or man pages for details.
    • Which tool to execute.
    • If the command should check for memory leaks.
    • Should reachable memory issues be included.
    • Set the number of callers to 20.
    • Track open file descriptors.
    • Write the results to a log file.
  3. Review the log file and determine if any the application has any errors listed.
Evaluate the evoche Application
  1. Use the valgrind cachegrind utility.
  2. Include the following information. You can refer to the Valgrind help or man pages for details.
    • Which tool to execute.
    • Write the results to a log file.
  3. Review the log file using cat, less or more, or a text editor checking for any misses.
  4. Use the cg_annotate command to review the cachegrind.out* file and determine if any the application has any errors listed.

Additional Resources

SCENARIO:

You are a Linux System Administrator working for a software development company. The software development team are working on some upgrades to a suite of three applications. The team has requested assistance testing the applications on a standard company system and leadership has assigned you with the application testing. You have installed the Valgrind suite of utilities on a test system and have received the applications from the developers. To assist the team, you will review the Valgrind options and run the appropriate tools against each application.

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?