Matt Wolfe LC Development Environment Group Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA.

Slides:



Advertisements
Similar presentations
Division of Alcoholic Beverages and Tobacco In-State Manufacturers Monthly Report.
Advertisements

Chris Riesbeck, Fall 2007 Dynamic Memory Allocation Today Dynamic memory allocation – mechanisms & policies Memory bugs.
Lecture 10: Heap Management CS 540 GMU Spring 2009.
Templates and Styles Excel Advanced. Templates are pre- designed and formatted spreadsheets –They provide consistency of layout/structure –They.
Matt Wolfe LC Development Environment Group Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA.
Memory allocation CSE 2451 Matt Boggus. sizeof The sizeof unary operator will return the number of bytes reserved for a variable or data type. Determine:
Hastings Purify: Fast Detection of Memory Leaks and Access Errors.
Dr. Fabrizio Gala Dipartimento di Scienze di Base e Applicate Per l’Ingegneria – Sezione di Fisica Via Scarpa Rome, Italy 1.
11/15/2005Comp 120 Fall November Seven Classes to Go! Questions! VM and Making Programs Go.
VisIt Software Engineering Infrastructure and Release Process LLNL-PRES Lawrence Livermore National Laboratory, P. O. Box 808, Livermore,
Processes and Resources
CS 225 Lab #2 - Pointers, Copy Constructors, Destructors, and DDD.
. Memory Management. Memory Organization u During run time, variables can be stored in one of three “pools”  Stack  Static heap  Dynamic heap.
Presented By Trey Jordan Technical Account Manager Southern Area Guided Self-Service Presentation.
1.  TCP/IP network management model: 1. Management station 2. Management agent 3. „Management information base 4. Network management protocol 2.
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
Page 1 © 2001 Hewlett-Packard Company Tools for Measuring System and Application Performance Introduction GlancePlus Introduction Glance Motif Glance Character.
Page 1 © 2001 Hewlett-Packard Company Tools for Measuring System and Application Performance Introduction GlancePlus Introduction Glance Motif Glance Character.
Chapter 17: Watching Your System BAI617. Chapter Topics Working With Event Viewer Performance Monitor Resource Monitor.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
With Microsoft Windows 7© 2012 Pearson Education, Inc. Publishing as Prentice Hall1 PowerPoint Presentation to Accompany GO! with Microsoft ® Windows 7.
Chapter 7: Runtime Environment –Run time memory organization. We need to use memory to store: –code –static data (global variables) –dynamic data objects.
Blaise Barney, LLNL ASC Tri-Lab Code Development Tools Workshop Thursday, July 29, 2010 Lawrence Livermore National Laboratory, P. O. Box 808, Livermore,
The NetBeans IDE CSIS 3701: Advanced Object Oriented Programming.
University of Maryland parseThat: A Robust Arbitrary-Binary Tester for Dyninst Ray Chen.
CS 11 C track: lecture 5 Last week: pointers This week: Pointer arithmetic Arrays and pointers Dynamic memory allocation The stack and the heap.
Chapter 11: Introduction to the Visual Basic Environment Spreadsheet-Based Decision Support Systems Prof. Name Position (123) University.
CIS 200 Final Review. New Material Data Structures.
SOFTWARE PERFORMANCE TESTING Or: Have We Got Bad Blood?
1 Debugging with the TotalView Source Code Debugger Ed Hinkel Sales Engineer TotalView Technologies MIT March 6, 2008.
Fourth R Inc. 1 WELCOME TO MICROSOFT OFFICE PROJECT 2003 INTERMEDIATE COURSE.
WebVizOr: A Fault Detection Visualization Tool for Web Applications Goal: Illustrate and evaluate the uses of WebVizOr, a new tool to aid web application.
TotalView Debugging Tool Presentation Josip Jakić
DDT Debugging Techniques Carlos Rosales Scaling to Petascale 2010 July 7, 2010.
Martin Schulz Center for Applied Scientific Computing Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory, P. O. Box 808, Livermore,
Embedded Software SKKU 14 1 Sungkyunkwan University Tizen v2.3 Application Profiling & Debugging.
Blaise Barney, LLNL ASC Tri-Lab Code Development Tools Workshop Thursday, July 29, 2010 Lawrence Livermore National Laboratory, P. O. Box 808, Livermore,
Lawrence Livermore National Laboratory Pianola: A script-based I/O benchmark Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA
® IBM Software Group © 2006 IBM Corporation PurifyPlus on Linux / Unix Vinay Kumar H S.
ASC Tri-Lab Code Development Tools Workshop Thursday, July 29, 2010 Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA This work.
A New Parallel Debugger for Franklin: DDT Katie Antypas User Services Group NERSC User Group Meeting September 17, 2007.
Chapter 7 Pointers: Java does not have pointers. Used for dynamic memory allocation.
Mike Johnson Project Manager Introducing Digital Academic Supervision Hub.
CSCI Rational Purify 1 Rational Purify Overview Michel Izygon - Jim Helm.
Martin Schulz Center for Applied Scientific Computing Lawrence Livermore National Laboratory ASC STAT Team: Greg Lee, Dong Ahn (LLNL), Dane Gardner (LANL)
McGraw-Hill/Irwin The Interactive Computing Series © 2002 The McGraw-Hill Companies, Inc. All rights reserved. Microsoft Excel 2002 Working with Data Lists.
1 Applets are small applications that are accessed on an Internet server, transported over the internet, automatically installed and run as a part of web.
Bronis R. de Supinski and Jeffrey S. Vetter Center for Applied Scientific Computing August 15, 2000 Umpire: Making MPI Programs Safe.
Test Plan: Introduction o Primary focus: developer testing –Implementation phase –Release testing –Maintenance and enhancement o Secondary focus: formal.
This is how you invoke the Microsoft Visual Studio 2010 Software. All Programs >> Microsoft Visual Studio 2010.
Today’s Topics O-Notation Testing/Debugging Data Structures Next Class: Writing correct programs:Column 4.
CIS 200 Test 01 Review. Built-In Types Properties  Exposed “Variables” or accessible values of an object  Can have access controlled via scope modifiers.
Win32 Programming Lesson 19: Introduction to DLLs.
Forms Manager. What is Forms Manager? Forms Manager is a completely new online form creation and form data management tool.
CSE 351 Dynamic Memory Allocation 1. Dynamic Memory Dynamic memory is memory that is “requested” at run- time Solves two fundamental dilemmas: How can.
Debugging Malloc Lab Detecting Memory-Related Errors.
CSE 333 – SECTION 2 Memory Management. Questions, Comments, Concerns Do you have any? Exercises going ok? Lectures make sense? Homework 1 – START EARLY!
Improve Embedded System Stability and Performance through Memory Analysis Tools Bill Graham, Product Line Manager Development Tools November 14, 2006.
CMon Application Monitor & Exception Manager. If I use CMon what benefits do I get? You can fix the application bugs easily. Fixing the errors in a short.
Archiving and Document Transfer Utilities
YAHMD - Yet Another Heap Memory Debugger
Debugging Memory Issues
CIS 200 Test 01 Review.
© 2016, Mike Murach & Associates, Inc.
Lawrence Livermore National Laboratory
Checking Memory Management
PPT9: Asserting expectations
Threads and Concurrency
Makefiles, GDB, Valgrind
Service Access Management Tool Notification Preferences
Presentation transcript:

Matt Wolfe LC Development Environment Group Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory, P. O. Box 808, Livermore, CA This work performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344 TotalView Memory Debugging LLNL-PRES

Lawrence Livermore National Laboratory TotalView Memory Debugging Value-Adds  See allocation detail on variable display  Display heap block contents  Compare memory usage and heap across processes or times  Records stack trace at points of allocation/deallocation  Reports block and byte counts by unique stack trace  Automatically catches selected memory use errors  Graphically displays the heap  Assists heap corruption debugging

Lawrence Livermore National Laboratory Preparing Code and Invoking TotalView (TV) Memory Debugging  Build as you would for TV debugging  Link with the Heap Interposition Agent (HIA) if necessary For stand-alone runs and to attach to running code For core file memory debugging For certain platforms and link methods  Start code under TV: use mtv in place of totalview, or totalview -memory_debugging -no_mem_notify_events  Attach to and inspect running code+HIA  Post mortem core file inspection of code+HIA

Lawrence Livermore National Laboratory Memory Debugging Basics  HIA runs and records data in user's process space  Browser-style user interface  Work with selected processes or groups, stop on event  Chart memory usage by memory type and by process or library  Display list of current allocations  Display stack trace at allocation/deallocation  Save and share some reports as HTML  Save memory data for later comparison

Lawrence Livermore National Laboratory Heap Debugging Assists  Heap block end guards catch out-of-bounds array writes  "Red Zone" end guards immediately catch by page faults  Block painting catches read-before-write and read-after-deallocation bugs  Deallocation hoarding identifies late-read bugs  Graphical view shows memory regions and nearby blocks

Lawrence Livermore National Laboratory Memory Debugging Power Tools  Memory leak report  Filter out files you have no control over  Sort to focus on worst offenders  Report heap blocks by stack trace or source line  Report corrupted memory  Set baseline and compare memory to baseline  Compare memory of different processes from multiple runs  memscript

Lawrence Livermore National Laboratory Automatic Event Notifications  Report most recent event per process  Report processes stopped at the same event  Notify [re-]allocation failures  Notify alignment errors  Notify de/re-allocation of a specific block  Notify deallocation with corrupted end guard  Notify Red Zone events including use after free  Notify code exit

Lawrence Livermore National Laboratory TVTech Memory Debugging Resources  On-screen help  Help menu  '?' button  Tips menu  CLI: help dheap