KDev-Valgrind : User Documentation

Size: px
Start display at page:

Download "KDev-Valgrind : User Documentation"

Transcription

1 KDev-Valgrind : User Documentation Damien Coppel Anthony Corbacho Lionel Duc Mathieu Lornac Sébastien Rannou Lucas Sarie This document is for developers wishing to use the plugin. It enables to understand in a simple and efficient way the process of installation, the usage of the module, and to take advantage of the features of the module. The KDev-Valgrind team - December 9,

2 Description of the document Titre User documentation Date December 9, 2011 Mail kdevvalgrind In charge Sébastien RANNOU Version 1.3 Table of revisions Date Section(s) Commentaire March 2011 All Creation of the document April Modification of the git address on sbrk.org July 2011 All Update December Update The KDev-Valgrind team - December 9,

3 Contents 1 Summary of the document 4 2 Introduction Aim of EIP Aim of KDev-Valgrind Installation Installation script KDevPlatform and KDevelop With packages With sources KDev-valgrind From the sources Vérification Uninstallation 7 5 Language 7 6 Usage Configuration Global tab Specific tabs Launch Result Memcheck Massif Callgrind Cachegrind Interactions FAQ 14 8 Links 14 9 Conclusion 14 The KDev-Valgrind team - December 9,

4 1 Summary of the document The first part of the document explains how to install KDevelop and the plugin kdevvalgrind. There is no graphical installer for the current development version, but the plugin aims developers with some knowledge and this point won t be a problem for them. Later we ll provide packages for some distributions to make this process easier for classic users. Then the several actions to configure and to use the plugin will be detailed. A brief description of bugs and usual questions is available at the end of the document, as well as uselful links. 2 Introduction 2.1 Aim of EIP The EIP 1 is a two years project where students of the Epitech are working in group of 5 to N students on a project of their own reflexion. The primary goal of the final project of Epitech is to achieve a project as you would in a business context. In addition, it allows students to practice their managerial skills. 2.2 Aim of KDev-Valgrind KDev-Valgrind is a project aiming at create a plugin for the KDevelop environment. This plugin will integrate the Valgrind s tools in the IDE 2 and facilitate its use. Even if Valgrind is use by many developpers, there is curently no implementation in this IDE. The integration is a will of the KDevelop community and obvioulsy, it will be free 3. 3 Installation 3.1 Installation script An installation script is available 4 for the Ubuntu distribution as well as for Archlinux. This script enables to easily install KDevPlatform, KDevelop, and KDev-valgrind. However, an installation script won t cover all developer needs. Indeed it is difficult to handle different versions in that way and the uninstallation is totally dependant of the script which is not tolerable. That s why we have decided to create packages for major GNU/Linux distributions as well as distributions that we like. Inside a distribution, a package enables the update, installation and uninstallation of the plugin. This is a considerable plus for open source systems, we can t avoid that way. The integrity of sources is also handled, before unarchiving, a checksum inside the package is computed. Moreover, by registering dependancies of the plugin, the installation can t be in an invalid state. 3.2 KDevPlatform and KDevelop With packages All GNU/Linux distribution have a package manager. This makes the installation process easier as well as updates. The installation of a package is done that way: Under Ubuntu : sudo apt-get install kdevelop 1 Epitech Innovative Project 2 Integrated Development Environment 3 Free as in freedom, not as in beer 4 The KDev-Valgrind team - December 9,

5 Under Fedora : sudo yum install kdevelop Under Archlinux : sudo pacman -S kdevelop With sources We can locally install KDevelop directly from the sources of the git repository. This method is however more complex. The required dependencies are different among distributions, here are some examples: Under Fedora 13: kdelibs-devel kdebase-workspace-devel Under Ubuntu 11.04: git cmake gcc g++ kdelibs5-dev zlib1g-dev kdebase-workspace-dev The details for the different distributions are available on their wiki. Then we have to download the sources : git clone git://anongit.kde.org/kdevplatform $HOME/src/kdevplatform git clone git://anongit.kde.org/kdevelop $HOME/src/kdevelop It is necessary to compile and install KDevPlatform first (by specifying an installation path, here $HOME/kdevelop4 ). mkdir -p $HOME/src/kdevplatform/build cd $HOME/src/kdevplatform/build cmake -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4../ make make install Then with KDevelop : mkdir -p $HOME/src/kdevelop/build cd $HOME/src/kdevelop/build cmake -DCMAKE_PREFIX_PATH=$HOME/kdevelop4 -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4../ make make install Before running KDevelop, we need to specify the environment variable KDEDIRS : export KDEDIRS=$HOME/kdevelop4:/$KDEDIRS kbuildsycoca4 KDevelop is now ready to be start: $HOME/kdevelop4/bin/kdevelop If KDevelop is installed from the sources, the package manager wont automatically update it. However it is possible to update it in the following way: cd $HOME/src/kdevelop/build && make uninstall cd $HOME/src/kdevplatform/build && make uninstall cd $HOME/src/kdevplatform && git pull cd $HOME/src/kdevplatform/build && make && make install cd $HOME/src/kdevelop && git pull cd $HOME/src/kdevelop/build && make && make install kbuildsycoca4 The KDev-Valgrind team - December 9,

6 3.3 KDev-valgrind Once KDevPlatform and KDevelop are installed, we can install the plugin From the sources The sources are available on the official repository of KDE or on our server sbrk.org. The official sources are often synchronized when the new versions on the other server are validated. Later the official server will be the only one used, but at that moment, only one member of the group has the necessary rights to commit. Sources from sbrk (for developpers): git clone Official sources: git clone git://anongit.kde.org/kdev-valgrind Then we have to compile and install sources. These commands are using files from the $HOME/src/ folder, which depends of the path where sources where downloaded. mkdir -p $HOME/src/kdev-valgrind/build cd $HOME/src/php/build cmake -DCMAKE_INSTALL_PREFIX=$HOME/kdevelop4../ make make install export KDEDIRS=$HOME/kdevelop4:/usr kbuildsycoca4 Once installed, the plugin will be automatically detected by KDevelop upon the next startup. Updates are also simple to perform : cd $HOME/src/kdev-valgrind && git pull cd $HOME/src/kdev-valgrind/build && make && make install kbuildsycoca4 3.4 Vérification Once the plugin is installed, we can check that its loading is correctly made in KDevelop. In the tab Help->Loaded Plugins, a new line should appear as shown on the figure 1. Figure 1: Valgrind plugin correctly loaded The KDev-Valgrind team - December 9,

7 4 Uninstallation In the same fashion it is very easy to remove the plugin : cd $HOME/src/kdev-valgring/build && make uninstall Upon the next startup of KDevelop, the plugin won t be available anymore. 5 Language The language of the plugin is defined according to the one set in the operating system. Thanks to the open source community, the plugin is already available in several languages. The locales that are currently supported are the following : ca, ca@valencia, en GB, es, et, fr, it, nds, nl, pt, pt BR, sv, uk. The KDev-Valgrind team - December 9,

8 6 Usage 6.1 Configuration The plugin provides a global configuration tab, and a configuration tab per tool. The different configurations are accessible via the menu Run - Configure Launches as show on the figure 2. Figure 2: Configure launches Global tab The global configuration of the plugin is available with the Valgrind line of the configuration menu. It can be common to all projects or specific to a few. This tab enables to define the path to the Valgrind binary (configured to default) which will be launched with parameters that can also be configured there. 3. Figure 3: Global configuration tab of Valgrind The KDev-Valgrind team - December 9,

9 6.1.2 Specific tabs Each tool of the Valgrind suite has its own configuration tab. The tools Memcheck, Massif, Callgrind and Cachegrind are usable and configurable as shown of the Figure 4 Figure 4: Configuration tab of memcheck 6.2 Launch Once configured (the default configuration will work in most cases), we can launch the selected tool. We can launch the tool using the KDevelop menu( Run - Profile Launch->Valgrind ) as shown on the figure 5. Figure 5: Valgrind launch The KDev-Valgrind team - December 9,

10 6.3 Result Memcheck Memcheck is a memory error detector. It can detect the following problems that are common in C and C++ programs : Accessing memory you shouldn t, e.g. overrunning and underrunning heap blocks, overrunning the top of the stack, and accessing memory after it has been freed. Using undefined values, i.e. values that have not been initialised, or that have been derived from other undefined values. Incorrect freeing of heap memory, such as double-freeing heap blocks, or mismatched use of malloc/new/new[] versus free/delete/delete[] Overlapping src and dst pointers in memcpy and related functions. Memory leaks. Problems like these can be difficult to find by other means, often remaining undetected for long periods, then causing occasional, difficult-to-diagnose crashes. The different errors found by the tool will be displayed in a tree as shown on the Figure 6. The errors are also highlighted in the source code in order to get a clear view. Figure 6: Result of a call to the plugin The KDev-Valgrind team - December 9,

11 6.3.2 Massif Massif is a heap profiler. It measures how much heap memory your program uses. This includes both the useful space, and the extra bytes allocated for book-keeping and alignment purposes. It can also measure the size of your program s stacks. Heap profiling can help you reduce the amount of memory your program uses. On modern machines with virtual memory, this can be used to speed up your program (a smaller program will interact better with your machine s caches and avoid paging) and if your program uses lots of memory, it will reduce the chance that it exhausts your machine s swap space. Also, there are certain space leaks that aren t detected by traditional leak-checkers, such as Memcheck s. That s because the memory isn t ever actually lost (a pointer remains to it) but it s not in use. Programs that have leaks like this can unnecessarily increase the amount of memory they are using over time. Massif can help identify these leaks. Importantly, Massif tells you not only how much heap memory your program is using, it also gives very detailed information that indicates which parts of your program are responsible for allocating the heap memory. In the configuration tab, you can also choose to use Massif visualizer to get a graphical view of the data. Figure 7: The tool massif used in combination with massif visualizer The KDev-Valgrind team - December 9,

12 6.3.3 Callgrind Callgrind is a profiling tool that records the call history among functions in a program s run as a call-graph. By default, the collected data consists of the number of instructions executed, their relationship to source lines, the caller/callee relationship between functions, and the numbers of such calls. Optionally, cache simulation and/or branch prediction (similar to Cachegrind) can produce further information about the runtime behavior of an application. In the configuration tab, you can also choose to use KCachegrind to get a graphical view of the data. Figure 8: The tool callgrind used in combination with kcachegrind The KDev-Valgrind team - December 9,

13 6.3.4 Cachegrind Cachegrind simulates how your program interacts with a machine s cache hierarchy and (optionally) branch predictor. It simulates a machine with independent first-level instruction and data caches, backed by a unified second-level cache. This exactly matches the configuration of many modern machines. These statistics are presented for the entire program and for each function in the program. You can also annotate each line of source code in the program with the counts that were caused directly by it. However, some modern machines have three levels of cache. For these machines (in the cases where Cachegrind can auto-detect the cache configuration) Cachegrind simulates the first-level and third-level caches. In the configuration tab, you can also choose to use KCachegrind to get a graphical view of the data. Figure 9: The tool cachegrind 6.4 Interactions It is possible to clic on the errors to go to the line of the error in the editing area. If the file is not open, it will automatically be open by the editor and the cursos go to the line specified by Valgrind. The KDev-Valgrind team - December 9,

14 7 FAQ What can I do with KDev-Valgrind? Once finished, the plugin will bring all functionnalities offered by Valgrind inside KDevelop. Moreover, thanks to the computations made on the results, it will be easier to visualize and interprate Valgrind s output. Why sould I use KDev-Valgrind? The usage of the plugin enables C/C++ developers to save time during debugging by avoiding to run it in a console outside of the IDE. Which version of KDevelop is supported? The plugin is developped for the 4.x versions of KDevelop. Major changes were introduced between the version 3 and 4, the plugin is not working on older versions such as 3.x. Can we freely use KDev-Valgrind, under which license is it available? Yes, the plugin is totally free, it is developped under the GNU GPL license. modified and distributed. It can be Can we use the plugin in other IDEs? No, the plugin is made for KDevelop and won t run in other IDEs. However, if you want to port it to other projects, you are welcome. Can we install the plugin directly from the package manager? The plugin is in constant evolution and updates are frequent. The creation of dedicated packages will be made once the plugin is stable. Can we use the plugin on Windows? Unfortunayely no. Valgrind is stricly linked to the memory management on GNU/Linux and can t run on Windows. 8 Links Redmine containing many information of the project : Official redmine on KDE.org : Wiki of the project : Bug tracker : Gantt : 9 Conclusion Even if this project is for C/C++ developers with some knowledge, the integration of a complicated tool at first sight (only with command lines) enables more people to enjoy the possibilities offered by Valgrind in a very simple way. The KDev-Valgrind team - December 9,

CSE 160 Discussion Section. Winter 2017 Week 3

CSE 160 Discussion Section. Winter 2017 Week 3 CSE 160 Discussion Section Winter 2017 Week 3 Homework 1 - Recap & a few points ComputeMandelbrotPoint func() in smdb.cpp does the job serially. You will have to do the same task in parallel manner in

More information

Use Dynamic Analysis Tools on Linux

Use Dynamic Analysis Tools on Linux Use Dynamic Analysis Tools on Linux FTF-SDS-F0407 Gene Fortanely Freescale Software Engineer Catalin Udma A P R. 2 0 1 4 Software Engineer, Digital Networking TM External Use Session Introduction This

More information

CS2141 Software Development using C/C++ Debugging

CS2141 Software Development using C/C++ Debugging CS2141 Software Development using C/C++ Debugging Debugging Tips Examine the most recent change Error likely in, or exposed by, code most recently added Developing code incrementally and testing along

More information

manifold Documentation

manifold Documentation manifold Documentation Release 0.0.1 Open Source Robotics Foundation Mar 04, 2017 Contents 1 What is Manifold? 3 2 Installation 5 2.1 Ubuntu Linux............................................... 5 2.2

More information

Massif-Visualizer. Memory Profiling UI. Milian Wolff Desktop Summit

Massif-Visualizer. Memory Profiling UI. Milian Wolff Desktop Summit Massif-Visualizer Memory Profiling UI Milian Wolff mail@milianw.de Desktop Summit 2011 08.08.2011 Agenda 1 Valgrind 2 Massif 3 Massif-Visualizer Milian Massif-Visualizer Desktop Summit Berlin 2/32 1 Valgrind

More information

Valgrind. Philip Blakely. Laboratory for Scientific Computing, University of Cambridge. Philip Blakely (LSC) Valgrind 1 / 21

Valgrind. Philip Blakely. Laboratory for Scientific Computing, University of Cambridge. Philip Blakely (LSC) Valgrind 1 / 21 Valgrind Philip Blakely Laboratory for Scientific Computing, University of Cambridge Philip Blakely (LSC) Valgrind 1 / 21 Part I Valgrind Philip Blakely (LSC) Valgrind 2 / 21 Valgrind http://valgrind.org/

More information

Scientific Programming in C IX. Debugging

Scientific Programming in C IX. Debugging Scientific Programming in C IX. Debugging Susi Lehtola 13 November 2012 Debugging Quite often you spend an hour to write a code, and then two hours debugging why it doesn t work properly. Scientific Programming

More information

Cache Profiling with Callgrind

Cache Profiling with Callgrind Center for Information Services and High Performance Computing (ZIH) Cache Profiling with Callgrind Linux/x86 Performance Practical, 17.06.2009 Zellescher Weg 12 Willers-Bau A106 Tel. +49 351-463 - 31945

More information

CSCI-1200 Data Structures Spring 2016 Lecture 6 Pointers & Dynamic Memory

CSCI-1200 Data Structures Spring 2016 Lecture 6 Pointers & Dynamic Memory Announcements CSCI-1200 Data Structures Spring 2016 Lecture 6 Pointers & Dynamic Memory There will be no lecture on Tuesday, Feb. 16. Prof. Thompson s office hours are canceled for Monday, Feb. 15. Prof.

More information

Profiling & Debugging

Profiling & Debugging Prfiling & Debugging CISC 879 Tristan Vanderbruggen & Jhn Cavazs Dept f Cmputer & Infrmatin Sciences University f Delaware 1 Lecture Overview Prfiling and Debugging Why? Tls Data sets Race Cnditin and

More information

Performance Measurement

Performance Measurement ECPE 170 Jeff Shafer University of the Pacific Performance Measurement 2 Lab Schedule Activities Today / Thursday Background discussion Lab 5 Performance Measurement Next Week Lab 6 Performance Optimization

More information

C/C++ toolchain. Static and dynamic code analysis. Karel Kubíček. Masaryk University. Brno, Czech Republic

C/C++ toolchain. Static and dynamic code analysis. Karel Kubíček. Masaryk University. Brno, Czech Republic C/C++ toolchain Static and dynamic code analysis Karel Kubíček Masaryk University Brno, Czech Republic April 20, 2018 Questions Who uses C/C++? Karel Kubíček C/C++ toolchain April 20, 2018 2 / 12 Questions

More information

Lecture 14 Notes. Brent Edmunds

Lecture 14 Notes. Brent Edmunds Lecture 14 Notes Brent Edmunds October 5, 2012 Table of Contents 1 Sins of Coding 3 1.1 Accessing Undeclared Variables and Pointers...................... 3 1.2 Playing With What Isn t Yours..............................

More information

Introduction to RISC-V

Introduction to RISC-V Introduction to RISC-V Jielun Tan, James Connolly February, 2019 Overview What is RISC-V Why RISC-V ISA overview Software environment Beta testing What is RISC-V RISC-V (pronounced risk-five ) is an open,

More information

Data and File Structures Laboratory

Data and File Structures Laboratory Tools: GDB, Valgrind Assistant Professor Machine Intelligence Unit Indian Statistical Institute, Kolkata August, 2018 1 GDB 2 Valgrind A programmer s experience Case I int x = 10, y = 25; x = x++ + y++;

More information

Code::Blocks Student Manual

Code::Blocks Student Manual Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of

More information

Windows cold wallet managing Linux VPS connected Masternode

Windows cold wallet managing Linux VPS connected Masternode Discount Coin Masternodes How to setup a Discount Coin Masternode Single and Multiple masternodes Windows cold wallet managing Linux VPS connected Masternode Version 1.0.2 The DiscountCoin Core Team February

More information

Project 0: Implementing a Hash Table

Project 0: Implementing a Hash Table Project : Implementing a Hash Table CS, Big Data Systems, Spring Goal and Motivation. The goal of Project is to help you refresh basic skills at designing and implementing data structures and algorithms.

More information

valgrind overview: runtime memory checker and a bit more What can we do with it?

valgrind overview: runtime memory checker and a bit more What can we do with it? Valgrind overview: Runtime memory checker and a bit more... What can we do with it? MLUG Mar 30, 2013 The problem When do we start thinking of weird bug in a program? The problem When do we start thinking

More information

The Valgrind Memory Checker. (i.e., Your best friend.)

The Valgrind Memory Checker. (i.e., Your best friend.) The Valgrind Memory Checker. (i.e., Your best friend.) Dept of Computing Science University of Alberta Small modifications by Stef Nychka, Mar. 2006 5th March 2006 Attribution. Introduction Some of the

More information

Created by: Nicolas Melillo 4/2/2017 Elastic Beanstalk Free Tier Deployment Instructions 2017

Created by: Nicolas Melillo 4/2/2017 Elastic Beanstalk Free Tier Deployment Instructions 2017 Created by: Nicolas Melillo 4/2/2017 Elastic Beanstalk Free Tier Deployment Instructions 2017 Detailed herein is a step by step process (and explanation) of how to prepare a project to be deployed to Amazon

More information

RELEASE NOTES. PACE Suite 4.4. Document version

RELEASE NOTES. PACE Suite 4.4. Document version RELEASE NOTES Document version 20170925 Table of Contents 1 PACE Suite Overview... 3 1.1 Key Advantages... 3 1.2 PACE Components... 3 1.3 System Requirements... 4 1.4 Hardware Requirements... 4 2 Release

More information

The Valgrind Memory Checker. (i.e., Your best friend.)

The Valgrind Memory Checker. (i.e., Your best friend.) The Valgrind Memory Checker. (i.e., Your best friend.) Dept of Computing Science University of Alberta modifications by Stef Nychka October 24, 2007 Attribution. Introduction Some of the material in this

More information

ROS Qt Creator Plug-in. Release

ROS Qt Creator Plug-in. Release ROS Qt Creator Plug-in Release Mar 18, 2018 Contents 1 Installation 1 2 FAQ 13 3 Users Help 15 4 Developers Help 23 5 Video Tutorials 25 i ii CHAPTER 1 Installation 1.1 How to Install (Users) This wiki

More information

Getting Started with Phalcon

Getting Started with Phalcon Getting Started with Phalcon Stephan A. Miller Chapter No. 1 "Installing Phalcon" In this package, you will find: A Biography of the author of the book A preview chapter from the book, Chapter NO.1 "Installing

More information

Using GitHub to Share with SparkFun a

Using GitHub to Share with SparkFun a Using GitHub to Share with SparkFun a learn.sparkfun.com tutorial Available online at: http://sfe.io/t52 Contents Introduction Gitting Started Forking a Repository Committing, Pushing and Pulling Syncing

More information

Red Hat Developer Tools

Red Hat Developer Tools Red Hat Developer Tools 2018.1 Using Eclipse Installing Eclipse 4.7.2 and first steps with the application Last Updated: 2018-01-24 Red Hat Developer Tools 2018.1 Using Eclipse Installing Eclipse 4.7.2

More information

Exercises. Cacti Installation and Configuration

Exercises. Cacti Installation and Configuration Exercises Cacti Installation and Configuration Exercises Your Mission... Install Cacti Create device entry for your local router Create device entries for your local servers Create entries for class router

More information

Exercises. Cacti Installation and Configuration

Exercises. Cacti Installation and Configuration Exercises Cacti Installation and Configuration Exercises Your Mission... Install Cacti Create device entry for your local router Create device entries for your local servers Create entries for class router

More information

HCFFT Documentation. Release. Aparna Suresh

HCFFT Documentation. Release. Aparna Suresh HCFFT Documentation Release Aparna Suresh May 30, 2017 Contents 1 1. Introduction 1 1.1 1. Getting Started............................................. 1 1.2 2. hcfft API Reference.........................................

More information

Infoblox Kubernetes1.0.0 IPAM Plugin

Infoblox Kubernetes1.0.0 IPAM Plugin 2h DEPLOYMENT GUIDE Infoblox Kubernetes1.0.0 IPAM Plugin NIOS version 8.X August 2018 2018 Infoblox Inc. All rights reserved. Infoblox Kubernetes 1.0.0 IPAM Deployment Guide August 2018 Page 1 of 18 Overview...

More information

CptS 360 (System Programming) Unit 4: Debugging

CptS 360 (System Programming) Unit 4: Debugging CptS 360 (System Programming) Unit 4: Debugging Bob Lewis School of Engineering and Applied Sciences Washington State University Spring, 2018 Motivation You re probably going to spend most of your code

More information

2 Initialize a git repository on your machine, add a README file, commit and push

2 Initialize a git repository on your machine, add a README file, commit and push BioHPC Git Training Demo Script First, ensure that git is installed on your machine, and you have configured an ssh key. See the main slides for instructions. To follow this demo script open a terminal

More information

Pulp Python Support Documentation

Pulp Python Support Documentation Pulp Python Support Documentation Release 1.0.1 Pulp Project October 20, 2015 Contents 1 Release Notes 3 1.1 1.0 Release Notes............................................ 3 2 Administrator Documentation

More information

Debugging. Erwan Demairy Dream

Debugging. Erwan Demairy Dream 1 Debugging Erwan Demairy Dream 2 Where are we? Tools Requirements Global architecture UML Local architecture Implementation Compilation Link Editor Compiler Linker Tests Debug Profiling Build IDE Debugger

More information

Pointers. Héctor Menéndez 1. November 28, AIDA Research Group Computer Science Department Universidad Autónoma de Madrid.

Pointers. Héctor Menéndez 1. November 28, AIDA Research Group Computer Science Department Universidad Autónoma de Madrid. Pointers Héctor Menéndez 1 AIDA Research Group Computer Science Department Universidad Autónoma de Madrid November 28, 2013 1 based on the original slides of the subject Index 1 Dynamic Memory 2 Arrays

More information

Learn Linux in a Month of Lunches by Steven Ovadia

Learn Linux in a Month of Lunches by Steven Ovadia Learn Linux in a Month of Lunches by Steven Ovadia Sample Chapter 17 Copyright 2017 Manning Publications brief contents PART 1 GETTING LINUX UP AND RUNNING... 1 1 Before you begin 3 2 Getting to know Linux

More information

CPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management

CPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management CPSC 491 Lecture 19 & 20: Source Code Version Control VCS = Version Control Software SCM = Source Code Management Exercise: Source Code (Version) Control 1. Pretend like you don t have a version control

More information

Task-Oriented Solutions to Over 175 Common Problems. Covers. Eclipse 3.0. Eclipse CookbookTM. Steve Holzner

Task-Oriented Solutions to Over 175 Common Problems. Covers. Eclipse 3.0. Eclipse CookbookTM. Steve Holzner Task-Oriented Solutions to Over 175 Common Problems Covers Eclipse 3.0 Eclipse CookbookTM Steve Holzner Chapter CHAPTER 6 6 Using Eclipse in Teams 6.0 Introduction Professional developers frequently work

More information

Project 0: Implementing a Hash Table

Project 0: Implementing a Hash Table CS: DATA SYSTEMS Project : Implementing a Hash Table CS, Data Systems, Fall Goal and Motivation. The goal of Project is to help you develop (or refresh) basic skills at designing and implementing data

More information

CROWDCOIN MASTERNODE SETUP COLD WALLET ON WINDOWS WITH LINUX VPS

CROWDCOIN MASTERNODE SETUP COLD WALLET ON WINDOWS WITH LINUX VPS CROWDCOIN MASTERNODE SETUP COLD WALLET ON WINDOWS WITH LINUX VPS This tutorial shows the steps required to setup your Crowdcoin Masternode on a Linux server and run your wallet on a Windows operating system

More information

Timing programs with time

Timing programs with time Profiling Profiling measures the performance of a program and can be used to find CPU or memory bottlenecks. time A stopwatch gprof The GNU (CPU) Profiler callgrind Valgrind s CPU profiling tool massif

More information

2 Installing the Software

2 Installing the Software INSTALLING 19 2 Installing the Software 2.1 Installation Remember the hour or two of slogging through software installation I promised (or warned) you about in the introduction? Well, it s here. Unless

More information

Overview. 1. Install git and create a Github account 2. What is git? 3. How does git work? 4. What is GitHub? 5. Quick example using git and GitHub

Overview. 1. Install git and create a Github account 2. What is git? 3. How does git work? 4. What is GitHub? 5. Quick example using git and GitHub Git 101: Overview 1. Install git and create a Github account 2. What is git? 3. How does git work? 4. What is GitHub? 5. Quick example using git and GitHub Github icon 1 Install git and a create GitHub

More information

Tutorial: GNU Radio Companion

Tutorial: GNU Radio Companion Tutorials» Guided Tutorials» Previous: Introduction Next: Programming GNU Radio in Python Tutorial: GNU Radio Companion Objectives Create flowgraphs using the standard block libraries Learn how to debug

More information

Red Hat Developer Tools

Red Hat Developer Tools Red Hat Developer Tools 2018.2 Using Eclipse Installing Eclipse 4.7.3a and first steps with the application Last Updated: 2018-04-23 Red Hat Developer Tools 2018.2 Using Eclipse Installing Eclipse 4.7.3a

More information

C++ development tools for Linux

C++ development tools for Linux C++ development tools for Linux Jesper K. Pedersen Copyright 2004 Jesper K. Pedersen Table of Contents Tools in general... 1 Advanced Development Tools... 6 Tools

More information

New Contributor Tutorial and Best Practices

New Contributor Tutorial and Best Practices New Contributor Tutorial and Best Practices Vicențiu Ciorbaru Software Engineer @ MariaDB Foundation * 2018 MariaDB Foundation * Goal of this session Most attendees here are highly experienced devs Let's

More information

ATOLLIC TRUESTUDIO FOR STM32 QUICK START GUIDE

ATOLLIC TRUESTUDIO FOR STM32 QUICK START GUIDE ATOLLIC TRUESTUDIO FOR STM32 QUICK START GUIDE This document is intended for those who want a brief, bare bones getting started guide. This should suffice for that purpose, but a lot of detail has been

More information

Setting up the K70 with KDS

Setting up the K70 with KDS Setting up the K70 with KDS Page 1 of 19 Connect the K70 to your Computer 2 Installing KDS 3 Download the Software 3 Mac 3 Security Exception 3 Run KDS_v3.app 4 Linux 4 Dependencies 4 Install the KDS Software

More information

Installing Ubuntu 8.04 for use with ESP-r 8 May 2009 Jon W. Hand, ESRU, Glasgow, Scotland

Installing Ubuntu 8.04 for use with ESP-r 8 May 2009 Jon W. Hand, ESRU, Glasgow, Scotland Installing Ubuntu 8.04 for use with ESP-r 8 May 2009 Jon W. Hand, ESRU, Glasgow, Scotland Introduction These notes apply to Ubuntu version 8.04. There are different disk layouts discussed as well as two

More information

xtensor-io Sep 20, 2018

xtensor-io Sep 20, 2018 Sep 20, 2018 INSTALLATION 1 Enabling xtensor-io in your C++ libraries 3 2 Licensing 5 2.1 Installation................................................ 5 2.2 Basic Usage...............................................

More information

CSE 331 Software Design & Implementation

CSE 331 Software Design & Implementation CSE 331 Software Design & Implementation Spring 2019 Section 2 Development Tools UW CSE 331 Spring 2019 1 Administrivia HW1 done! HW2 due next Tuesday. HW3 out today, deadline upcoming. Everyone should

More information

COLD WALLET + MASTERNODE SETUP ON LINUX

COLD WALLET + MASTERNODE SETUP ON LINUX COLD WALLET + MASTERNODE SETUP ON LINUX This tutorial shows the steps required to setup your Magnet masternode on a Linux system while running a local cold wallet (Windows system here). Let s get started!

More information

Vaango Installation Guide

Vaango Installation Guide Vaango Installation Guide Version Version 17.10 October 1, 2017 The Utah Vaango team and Biswajit Banerjee Copyright 2015-2017 Parresia Research Limited The contents of this manual can and will change

More information

Software Analysis Tools

Software Analysis Tools CSCE 790 Introduction to Software Analysis Software Analysis Tools Professor Lisa Luo Fall 2018 Overview Source code CFG generator Binary code analysis Code obfuscation Symbolic Execution Dynamic analysis

More information

Red Hat Developer Tools 2.1

Red Hat Developer Tools 2.1 Red Hat Developer Tools 2.1 Using Eclipse Installing Eclipse 4.7.1 and first steps with the application Last Updated: 2017-11-07 Red Hat Developer Tools 2.1 Using Eclipse Installing Eclipse 4.7.1 and

More information

Code::Blocks Student Manual

Code::Blocks Student Manual Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of

More information

DEBUGGING: DYNAMIC PROGRAM ANALYSIS

DEBUGGING: DYNAMIC PROGRAM ANALYSIS DEBUGGING: DYNAMIC PROGRAM ANALYSIS WS 2017/2018 Martina Seidl Institute for Formal Models and Verification System Invariants properties of a program must hold over the entire run: integrity of data no

More information

Performance Measurement

Performance Measurement ECPE 170 Jeff Shafer University of the Pacific Performance Measurement 2 Lab Schedule Ac?vi?es Today Background discussion Lab 5 Performance Measurement Wednesday Lab 5 Performance Measurement Friday Lab

More information

Software Development I

Software Development I 6.148 Software Development I Two things How to write code for web apps. How to collaborate and keep track of your work. A text editor A text editor A text editor Anything that you re used to using Even

More information

Multicore Programming Handout 1: Installing GCC Cilk Plus

Multicore Programming Handout 1: Installing GCC Cilk Plus Multicore Programming Handout 1: Installing GCC Cilk Plus Leo Ferres Department of Computer Science Universidad de Concepción Email: lferres@inf.udec.cl February 19, 2013 1 Introduction For our lab work,

More information

Continuous Integration INRIA

Continuous Integration INRIA Vincent Rouvreau - https://sed.saclay.inria.fr February 28, 2017 Contents 1 Preamble In this exercise, we will focus on the configuration of Jenkins for: 1. A simple aspect of C++ unit testing 2. An aspect

More information

HEC-SSP. Statistical Software Package. Release Notes. Version June US Army Corps of Engineers Hydrologic Engineering Center

HEC-SSP. Statistical Software Package. Release Notes. Version June US Army Corps of Engineers Hydrologic Engineering Center US Army Corps of Engineers Hydrologic Engineering Center HEC-SSP Statistical Software Package Release Notes Version 2.1.1 June 2017 Approved for Public Release. Distribution Unlimited. Statistical Software

More information

CS61, Fall 2012 Section 2 Notes

CS61, Fall 2012 Section 2 Notes CS61, Fall 2012 Section 2 Notes (Week of 9/24-9/28) 0. Get source code for section [optional] 1: Variable Duration 2: Memory Errors Common Errors with memory and pointers Valgrind + GDB Common Memory Errors

More information

swiftenv Documentation

swiftenv Documentation swiftenv Documentation Release 1.3.0 Kyle Fuller Sep 27, 2017 Contents 1 The User Guide 3 1.1 Installation................................................ 3 1.2 Getting Started..............................................

More information

MASTERNODE Setup Guide

MASTERNODE Setup Guide MASTERNODE Setup Guide Version 1.0 February 2018 Page 1 / 13 Table of Contents Table of Contents... 2 Linux Setup... 3 Prerequisites... 3 Updates and dependencies... 3 Building the wallet... 4 Starting

More information

Review Version Control Concepts

Review Version Control Concepts Review Version Control Concepts SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology Managing change is a constant aspect of software development.

More information

TangeloHub Documentation

TangeloHub Documentation TangeloHub Documentation Release None Kitware, Inc. September 21, 2015 Contents 1 User s Guide 3 1.1 Managing Data.............................................. 3 1.2 Running an Analysis...........................................

More information

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects. Git AN INTRODUCTION Introduction to Git as a version control system: concepts, main features and practical aspects. How do you share and save data? I m working solo and I only have one computer What I

More information

Koalix ERP. Release 0.2

Koalix ERP. Release 0.2 Koalix ERP Release 0.2 March 01, 2016 Contents 1 Features 3 1.1 Screenshots................................................ 3 1.2 Installation................................................ 6 2 Indices

More information

vpp-firstcut Documentation

vpp-firstcut Documentation vpp-firstcut Documentation Release 0.1 John DeNisco Jun 07, 2018 Contents 1 Concepts 3 2 Setup 5 2.1 Installing VPP Binaries from Packages................................. 5 3 Tasks 11 3.1 Writing VPP

More information

CS480. Compilers Eclipse, SVN, Makefile examples

CS480. Compilers Eclipse, SVN, Makefile examples CS480 Compilers Eclipse, SVN, Makefile examples January 26, 2015 New Project New Project C/C++ Project Create a New C Project Choose Makefile Project EmptyProject Toolchain: Linux GCC Next Advanced C/C++

More information

GUIDE Development tools for Windows(10) installation... 2

GUIDE Development tools for Windows(10) installation... 2 GUIDE Development tools for Windows(10) installation... 2 C\C++ compiler and CMake installation... 2 Mingw download... 2 Mingw installation... 3 Adding Mingw compilers folder to PATH variable... 7 CMake

More information

Version Control. Software Carpentry Github s Hello World Git For Ages 4 And Up You need source code control now

Version Control. Software Carpentry Github s Hello World Git For Ages 4 And Up You need source code control now A version control system (VCS) is a tool or system for keeping track of changes in files. A primitive form of VCS would be making a copy of a file every time you want to make a new version of the file.

More information

Technology Background Development environment, Skeleton and Libraries

Technology Background Development environment, Skeleton and Libraries Technology Background Development environment, Skeleton and Libraries Christian Kroiß (based on slides by Dr. Andreas Schroeder) 18.04.2013 Christian Kroiß Outline Lecture 1 I. Eclipse II. Redmine, Jenkins,

More information

Kivy Designer Documentation

Kivy Designer Documentation Kivy Designer Documentation Release 0.9 Kivy October 02, 2016 Contents 1 Installation 3 1.1 Prerequisites............................................... 3 1.2 Installation................................................

More information

Table of Contents. PropellerIDE Documentation

Table of Contents. PropellerIDE Documentation Table of Contents Introduction User Guide Getting Started Installing PropellerIDE Installing FTDI Drivers The Main Window Tool Bar Editor View Code Completion Documentation View Project View Keyboard Shortcuts

More information

TrinityCore Documentation

TrinityCore Documentation TrinityCore Documentation Release TrinityCore Developers February 21, 2016 Contents 1 Compiling TrinityCore 3 1.1 Requirements............................................... 3 1.2 Build Environment............................................

More information

Windows 10: Solve Creators Update Errors. Solve Nasty Errors During or Following the Installation of the Latest Windows 10 Version

Windows 10: Solve Creators Update Errors. Solve Nasty Errors During or Following the Installation of the Latest Windows 10 Version W 732/1 Solve Nasty Errors During or Following the Installation of the Latest Windows 10 Version With the information given in this article you will be able to 3 Update your Windows 10 system to the new

More information

Lab 6: OS Security for the Internet of Things

Lab 6: OS Security for the Internet of Things Department of Computer Science: Cyber Security Practice Lab 6: OS Security for the Internet of Things Introduction The Internet of Things (IoT) is an emerging technology that will affect our daily life.

More information

Department of Computer Science College of Engineering Boise State University

Department of Computer Science College of Engineering Boise State University Department of Computer Science College of Engineering Boise State University 1/18 Introduction Wouldn t you like to have a time machine? Software developers already have one! it is called version control

More information

Red Hat Developer Tools

Red Hat Developer Tools Red Hat Developer Tools 2018.4 Using Eclipse Installing Eclipse 4.9.0 and first steps with the application Last Updated: 2018-10-23 Red Hat Developer Tools 2018.4 Using Eclipse Installing Eclipse 4.9.0

More information

NSIGHT ECLIPSE EDITION

NSIGHT ECLIPSE EDITION NSIGHT ECLIPSE EDITION DG-06450-001 _v7.0 March 2015 Getting Started Guide TABLE OF CONTENTS Chapter 1. Introduction...1 1.1. About...1 Chapter 2. New and Noteworthy... 2 2.1. New in 7.0... 2 2.2. New

More information

Centreon SSH Connector Documentation

Centreon SSH Connector Documentation Centreon SSH Connector Documentation Release 1.1.2 Centreon November 24, 2015 Contents i ii Centreon SSH Connector is a free software from Centreon available under the Apache Software License version

More information

A Novel Approach to Explain the Detection of Memory Errors and Execution on Different Application Using Dr Memory.

A Novel Approach to Explain the Detection of Memory Errors and Execution on Different Application Using Dr Memory. A Novel Approach to Explain the Detection of Memory Errors and Execution on Different Application Using Dr Memory. Yashaswini J 1, Tripathi Ashish Ashok 2 1, 2 School of computer science and engineering,

More information

Intel Software Guard Extensions SDK for Linux* OS. Installation Guide

Intel Software Guard Extensions SDK for Linux* OS. Installation Guide Intel Software Guard Extensions SDK for Linux* OS Installation Guide Legal Information No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.

More information

Lab 6: OS Security for the Internet of Things

Lab 6: OS Security for the Internet of Things Department of Computer Science: Cyber Security Practice Lab 6: OS Security for the Internet of Things Introduction The Internet of Things (IoT) is an emerging technology that will affect our daily life.

More information

The Python Mini-Degree Development Environment Guide

The Python Mini-Degree Development Environment Guide The Python Mini-Degree Development Environment Guide By Zenva Welcome! We are happy to welcome you to the premiere Python development program available on the web The Python Mini-Degree by Zenva. This

More information

Debugging (Part 2) 1

Debugging (Part 2) 1 Debugging (Part 2) 1 Programming in the Large Steps Design & Implement Program & programming style (done) Common data structures and algorithms Modularity Building techniques & tools (done) Test Testing

More information

Cache Performance Analysis with Callgrind and KCachegrind

Cache Performance Analysis with Callgrind and KCachegrind Cache Performance Analysis with Callgrind and KCachegrind Parallel Performance Analysis Course, 31 October, 2010 King Abdullah University of Science and Technology, Saudi Arabia Josef Weidendorfer Computer

More information

Masternode Guide #1. Single masternode on Linux VPS (Ubuntu)+ control wallet on local PC (Windows)

Masternode Guide #1. Single masternode on Linux VPS (Ubuntu)+ control wallet on local PC (Windows) Masternode Guide #1 Single masternode on Linux VPS (Ubuntu)+ control wallet on local PC (Windows) Prerequisites: a - A remote server (Virtual Private Server, VPS) which will be our masternode wallet. b

More information

Software Tools for Source Code Analysis

Software Tools for Source Code Analysis Software Tools for Source Code Analysis Alexandru GROSU IT&C Security Master Department of Economic Informatics and Cybernetics The Bucharest University of Economic Studies ROMANIA alex.grosu@gmail.com

More information

Setting up a Chaincoin Masternode

Setting up a Chaincoin Masternode Setting up a Chaincoin Masternode Introduction So you want to set up your own Chaincoin Masternode? You ve come to the right place! These instructions are correct as of April, 2017, and relate to version

More information

Book keeping. Will post HW5 tonight. OK to work in pairs. Midterm review next Wednesday

Book keeping. Will post HW5 tonight. OK to work in pairs. Midterm review next Wednesday Garbage Collection Book keeping Will post HW5 tonight Will test file reading and writing Also parsing the stuff you reads and looking for some patterns On the long side But you ll have two weeks to do

More information

P2: Collaborations. CSE 335, Spring 2009

P2: Collaborations. CSE 335, Spring 2009 P2: Collaborations CSE 335, Spring 2009 Milestone #1 due by Thursday, March 19 at 11:59 p.m. Completed project due by Thursday, April 2 at 11:59 p.m. Objectives Develop an application with a graphical

More information

Advanced Programming & C++ Language

Advanced Programming & C++ Language Advanced Programming & C++ Language ~6~ Introduction to Memory Management Ariel University 2018 Dr. Miri (Kopel) Ben-Nissan Stack & Heap 2 The memory a program uses is typically divided into four different

More information

Intro to Github. Jessica Young

Intro to Github. Jessica Young Intro to Github Jessica Young jyoung22@nd.edu GitHub Basics 1. Installing GitHub and Git 2. Connecting Git and GitHub 3. Why use Git? Installing GitHub If you haven t already, create an account on GitHub

More information

How to build Simbody 2.2 from source on Windows

How to build Simbody 2.2 from source on Windows How to build Simbody 2.2 from source on Windows Michael Sherman, 30 Mar 2011 (minor revision 27 July 2011) Simbody 2.2 was re-engineered to be much easier to build from source than previous releases. One

More information

ICHEC. Using Valgrind. Using Valgrind :: detecting memory errors. Introduction. Program Compilation TECHNICAL REPORT

ICHEC. Using Valgrind. Using Valgrind :: detecting memory errors. Introduction. Program Compilation TECHNICAL REPORT ICHEC TECHNICAL REPORT Mr. Ivan Girotto ICHEC Computational Scientist Stoney Compute Node Bull Novascale R422-E2 Using Valgrind :: detecting memory errors Valgrind is a suite of command line tools both

More information