NA-MIC National Alliance for Medical Image Computing Slicer / ITK / VTK Development Tools Steve Pieper, PhD.

Slides:



Advertisements
Similar presentations
National Alliance for Medical Image Computing Slicer3 Architecture.
Advertisements

1 Lab 3 Objectives  Case study: “Hello world” program on motes  Write you first program on mote.
Debugging What can debuggers do? Run programs Make the program stops on specified places or on specified conditions Give information about current variables’
Georgia Institute of Technology DrJava Appendix A Barb Ericson Georgia Institute of Technology May 2006.
Computer Science Basics CS 216 Fall Operating Systems interface to the hardware for the user and programs The two operating systems that you are.
NA-MIC National Alliance for Medical Image Computing 3D Slicer Interactive Modules Steve Pieper, PhD.
How to Debug VB .NET Code.
CS 225 Lab #2 - Pointers, Copy Constructors, Destructors, and DDD.
1 Basics of Linux On linux machine: Login at your home directory Open a “shell” or “terminal” or “xterm” workspace (4) On windows machine Intall linux.
NA-MIC National Alliance for Medical Image Computing Slicer4 Guided Tour Steve Pieper, Ph.D.
NA-MIC National Alliance for Medical Image Computing Slicer Custom Modules Steve Pieper, PhD.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering End-user Platform Steve Pieper Isomics, Inc.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering End-user Platform Steve Pieper Isomics, Inc.
Source code indexer. What does it do?  Indexes source code for fast lookups of methods, variables, structs, macros, …  But LXR does this… Ctags can.
PIKA Technologies Inc. Analog Logger Application Sample December 2009.
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
1 Integrated Development Environment Building Your First Project (A Step-By-Step Approach)
Debugging Cluster Programs using symbolic debuggers.
WaveMaker Visual AJAX Studio 4.0 Training Troubleshooting.
Memory & Storage Architecture Seoul National University GDB commands Hyeon-gyu School of Computer Science and Engineering.
DEBUGGING CHAPTER Topics  Getting Started with Debugging  Types of Bugs –Compile-Time Bugs –Bugs Attaching Scripts –Runtime Errors  Stepping.
Instructor Notes GPU debugging is still immature, but being improved daily. You should definitely check to see the latest options available before giving.
Developing C/C++ applications with the Eclipse CDT David Gallardo.
Old Chapter 10: Programming Tools A Developer’s Candy Store.
TAMU CSCE 313 (the basics). Basic Unix/Linux programming Accessing CS systems  PuTTY (putty.exe) – a Telnet and SSH client  Common hosts: unix.cs.tamu.edu.
CPSC1301 Computer Science 1 Overview of Dr. Java.
Active-HDL Interfaces Debugging C Code Course 10.
Active-HDL Interfaces Building VHPI Applications C Compilation Course 9.
NA-MIC National Alliance for Medical Image Computing Slicer Building and Deployment Steve Pieper, PhD.
CSE 232: C++ Programming in Visual Studio Graphical Development Environments for C++ Eclipse –Widely available open-source debugging environment Available.
CSE 232: C++ debugging in Visual Studio and emacs C++ Debugging (in Visual Studio and emacs) We’ve looked at programs from a text-based mode –Shell commands.
A Tutorial on Introduction to gdb By Sasanka Madiraju Graduate Assistant Center for Computation and Technology.
Debugging Xin Tong. GDB GNU Project debugger Allows you to see what is going on `inside' another program while it executes or crashed. (Faster than printing.
1 Programming Environment and Tools VS.Net 2012 First project MSDN Library.
Debuggers in Python. The Debugger Every programming IDE has a tool called a debugger. This application does NOT locate or fix your bugs for you! It slows.
CSE 374 Programming Concepts & Tools Hal Perkins Fall 2015 Lecture 11 – gdb and Debugging.
Debugging 1/6/2016. Debugging 1/6/2016 Debugging  Debugging is a methodical process of finding and reducing the number of bugs, or defects, in a program.
NA-MIC National Alliance for Medical Image Computing Slicer / ITK / VTK Development Tools Steve Pieper, PhD.
COP 3530 Spring 12 Discussion Session 1. Agenda 1.Introduction 2.Remote programming 3.Separate code 4.Compile -- g++,makefile 5.Debug -- gdb 6.Questions?
Open project in Microsoft Visual Studio → build program in “Release” mode.
Visual Programming Borland Delphi. Developing Applications Borland Delphi is an object-oriented, visual programming environment to develop 32-bit applications.
Debugging using By: Samuel Ashby. What is debugging?  A bug is an error in either a program or the hardware itself.  Debugging is first locating and.
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
1 Using an Integrated Development Environment. Integrated Development Environments An Integrated Development Environment, or IDE, permits you to edit,
CSE 332: Scientific debugging in C++ Scientific Debugging in C++ (with Eclipse & gdb) By now we’ve covered several key C++ features –Variable declarations.
Gnu Debugger (gdb) Debuggers are used to: Find semantic errors Locate seg faults and bus errors Prepared by Dr. Spiegel.
DEBUG.
Appendix A Barb Ericson Georgia Institute of Technology May 2006
Mobile Device Development
Development with Eclipse
Debugging with Clion and GDB
Appendix A Barb Ericson Georgia Institute of Technology May 2006
Compilation and Debugging
Compilation and Debugging
Editor, Compiler, Linker, Debugger, Makefiles
HP C/C++ Remote developer plug-in for Eclipse
Debuggers.
Unreal Engine and C++ We’re finally at a point where we can start working in C++ with Unreal Engine To get everything set up for this properly, we’re going.
Cmake Primer.
עבודה עם Eclipse מבוא לתכנות מערכות מבוא לתכנות מערכות.
1. Open Visual Studio 2008.
Getting Started: Developing Code with Cloud9
Using a Debugger 1-Jan-19.
Tools for Source Browsing and Debugging
Testing, debugging, and using support libraries
Our Environment We will exercise on Microsoft Visual C++ v.6
Windows Service Applications
Debugging.
Workshop for Programming And Systems Management Teachers
Presentation transcript:

NA-MIC National Alliance for Medical Image Computing Slicer / ITK / VTK Development Tools Steve Pieper, PhD

National Alliance for Medical Image Computing Overall Goals Understanding the Big Picture: –Code browsing with ctags –Source Navigator Debugging: –tkcon –Using the native debuggers –itkFilterWatcher

National Alliance for Medical Image Computing Ctags Exuberant CTAGS –Ctags.sf.net Provides detailed tag files for emacs and vi Run in top level directory with –ctags –r.

National Alliance for Medical Image Computing Source Navigator –Linux source code to compile –Windows binaries

National Alliance for Medical Image Computing Source Navigator Multi-directory class browser (see whole project) Hierarchy Display View all code –Jump to definitions and declarations –See comments and code Grep UI

National Alliance for Medical Image Computing Native Tools CMake creates makefiles and.SLN files that can be used outside of CMake for debugging –Resolve linker or option issues Can attach to running process with gdb or visual studio –Debug the C++ code

National Alliance for Medical Image Computing Visual Studio Slicer Debugging Start Slicer Tools->Debug Processes –Attach to wish84.exe, Slicer 2.4 –Run program until it crashes –Browse to Source directory and set breakpoints

National Alliance for Medical Image Computing gdb Debugging Start slicer Use ps to find process id of ‘parent’ vtk thread Use gdb command ‘attach ’

National Alliance for Medical Image Computing Tkcon Very smart console written in Tk –Identifier completion Files Variables Class instances UI Windows –Command line editing like readline Create VTK class instances and experiment Write and test tcl code interactively

National Alliance for Medical Image Computing Interactive VTK Commands ListMethods –Tells all instances currently known to the interpreter Print –Calls the PrintSelf method ListMethods –Tell what methods are available in the interpreter

National Alliance for Medical Image Computing itk::FilterWatcher Uses itk Observer mechanism to register callbacks for common events –StartEvent –ProgressEvent –EndEvent Prints total running time

National Alliance for Medical Image Computing Most useful debugging tool Print statements in the code! –Just remember to remove them when you are done debugging… –Be sure to flush them –Or, use the –verbose option in slicer to control debugging flags