Editing and Debugging Mumps with VistA and the Eclipse IDE Joel L. Ivey, Ph.D. Dept. of Veteran Affairs OI&T, Veterans Health IT Infrastructure & Security.

Slides:



Advertisements
Similar presentations
Introduction to Eclipse. Start Eclipse Click and then click Eclipse from the menu: Or open a shell and type eclipse after the prompt.
Advertisements

 Use the Left and Right arrow keys or the Page Up and Page Down keys to move between the pages. You can also click on the pages to move forward.  To.
DEV-2: Getting Started with OpenEdge® Architect – Part I
Developing an Excel Application
Using XCode © 2013 Surajit A Bose De Anza College.
Georgia Institute of Technology DrJava Appendix A Barb Ericson Georgia Institute of Technology May 2006.
Visual Basic 2010 How to Program. © by Pearson Education, Inc. All Rights Reserved.2.
Visual Basic 2010 How to Program Reference: Instructor: Maysoon Bin Duwais slides Visual Basic 2010 how to program by Deitel © by Pearson Education,
Integrated Development Environments. Today We Will: Go over more advanced functionality of Eclipse. Break up into teams to work on presentation and final.
E.1 Eclipse. e.2 Installing Eclipse Download the eclipse.installation.exe from the course web site to your computer and execute it. Keep the destination.
Microsoft Windows Vista Chapter 6 Customizing Your Computer Using the Control Panel.
Eclipse Introduction Dwight Deugo Nesa Matic
Eclipse Begin at the Beginning. Where to Find it:
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
Eclipse IDE. 2 IDE Overview An IDE is an Interactive Development Environment Different IDEs meet different needs BlueJ and DrJava are designed as teaching.
03 Using Eclipse. 2 IDE Overview An IDE is an Interactive Development Environment Different IDEs meet different needs BlueJ and DrJava are designed as.
Working with SharePoint Document Libraries. What are document libraries? Document libraries are collections of files that you can share with team members.
COMPREHENSIVE Excel Tutorial 8 Developing an Excel Application.
Microsoft Office 2007 Access 2007 Chapter 9 Administering a Database System.
Database Design with VisualDCT Nicholas Di Monte.
© Ms. Masihi.  The Dreamweaver Welcome Screen first opens when you start Dreamweaver.  This screen gives you quick access to previously opened files,
Eclipse Overview Introduction to Web Programming Kirkwood Continuing Education Fred McClurg © Copyright 2015, Fred McClurg, All Rights Reserved.
© 2008 The McGraw-Hill Companies, Inc. All rights reserved. WORD 2007 M I C R O S O F T ® THE PROFESSIONAL APPROACH S E R I E S Lesson 22 Macros.
Using Eclipse. What is Eclipse? The Eclipse Platform is an open source IDE (Integrated Development Environment), created by IBM for developing Java programs.
Chapter 1a© copyright Janson Industries RAD ▮ Explain Eclipse, RAD, and their relationship ▮ Basic RAD concepts ▮ How to install RAD ▮ How to import.
Adding User Interactivity – Lesson 51 Adding User Interactivity Lesson 5.
LLRP GUI Client User Guide
Workbench Overview Dwight Deugo Nesa Matic
Plug-in Development Environment. Session Outline Tools Installation Configuration New Project Basic Debugging Remote Debugging.
CPSC1301 Computer Science 1 Overview of Dr. Java.
Introduction to Eclipse CSC 216 Lecture 3 Ed Gehringer Using (with permission) slides developed by— Dwight Deugo Nesa Matic
Program Design and Coding
Microsoft Visual Basic 2012 CHAPTER THREE Program Design and Coding.
Microsoft Visual Basic 2010 CHAPTER THREE Program Design and Coding.
Dreamweaver MX. 2 Overview of Templates n Templates represent a web page design or _______ that will be common to multiple pages. n There are two situations.
Active-HDL Interfaces Debugging C Code Course 10.
Downloading and Installing Autodesk Revit 2016
An Introduction to Designing and Executing Workflows with Taverna Aleksandra Pawlik materials by: Katy Wolstencroft University of Manchester.
Welcome To Eclipse. Basic Concepts Workspace – directory where your projects are stored –Projects grouping of related works –Resources generic term to.
Unit 1: Java and Eclipse The Eclipse Development Environment.
9/2/ CS171 -Math & Computer Science Department at Emory University.
GumTree Development Environment Setup Windows Only Compatible with Eclipse 3.2 M3 (Last update: 16/11/05)
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 8 Debugging, Creating Executable Files, and Distributing a Windows Application.
Downloading and Installing Autodesk Inventor Professional 2015 This is a 4 step process 1.Register with the Autodesk Student Community 2.Downloading the.
Liferay Installation Prepared by: Do Xuan Hai 8 August 2011.
Using Advanced Options Lesson 14 © 2014, John Wiley & Sons, Inc.Microsoft Official Academic Course, Microsoft Word Microsoft Word 2013.
Lesson 10 - Mail Merge and Reviewing Documents Advanced Microsoft Word.
Tool Install How to download & install Java 6 & Eclipse updated version based on Dr. G. L. Ray’s slides.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Outline 5.1 Test-Driving the Inventory Application.
Using This PowerPoint This PowerPoint presentation assumes your Computer Science teacher has provided you with the InstallingJava folder, which contains.
Eclipse Project. Installing Visit to download a copy for your home computerhttp:// –Get Release version 3.0 (or.
Creating and Editing a Web Page
Debugging tools in Flash CIS 126. Debugging Flash provides several tools for testing ActionScript in your SWF files. –The Debugger, lets you find errors.
IE 411/511: Visual Programming for Industrial Applications Lecture Notes #2 Introduction to the Visual Basic Express 2010 Integrated Development Environment.
XP New Perspectives on Macromedia Dreamweaver MX 2004 Tutorial 5 1 Adding Shared Site Elements.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
Using a set-up file to read ASCII data into Stata
Excel Tutorial 8 Developing an Excel Application
Appendix A Barb Ericson Georgia Institute of Technology May 2006
Chapter 2: The Visual Studio .NET Development Environment
Appendix A Barb Ericson Georgia Institute of Technology May 2006
Eclipse Navigation & Usage.
Using Visual Studio with C#
Important terms Black-box testing White-box testing Regression testing
Important terms Black-box testing White-box testing Regression testing
Multi-host Internet Access Portal (MIAP) Enhancement Guide
Download and Installation of code::blocks
Using Eclipse.
Workshop for Programming And Systems Management Teachers
Presentation transcript:

Editing and Debugging Mumps with VistA and the Eclipse IDE Joel L. Ivey, Ph.D. Dept. of Veteran Affairs OI&T, Veterans Health IT Infrastructure & Security Service

6/15/200715th VistA Community Meeting2 Objectives What is Eclipse? Do I need to know any Java? (NO!) A functional MUMPS (or M) editor with syntax coloring. Setting it up Options & Features Examples of its use

6/15/200715th VistA Community Meeting3 What Is Eclipse? Eclipse is an Integrated Development Environment (IDE). It is written in Java, and was originally a Java development environment. It uses a plug-in architecture to provide for extension of the capabilities. It is now used as an editor and development environment for many languages.

6/15/200715th VistA Community Meeting4 Do I have to know any Java? NO!!

6/15/200715th VistA Community Meeting5 How do I get and Install Eclipse? Eclipse was originally developed by IBM, but was converted to an open source project. The most recent version can be downloaded as a zip file from Simply unziping the file (with ‘use folder names’ checked) into a desired directory such as C:\ or C:\Prog results in Eclipse being put into C:\Eclipse or C:\Prog\Eclipse. Start Eclipse by double clicking on the Eclipse.exe program in the Eclipse directory.

6/15/200715th VistA Community Meeting6 The Eclipse Editor on first use

6/15/200715th VistA Community Meeting7 The Basic Eclipse Editor (after clicking on the ‘Go To Workbench’ arrow)

6/15/200715th VistA Community Meeting8 Unzipping the VistALink Plug-in

6/15/200715th VistA Community Meeting9 The M icon and VistA menu added by the M-Editor Plug-in

6/15/200715th VistA Community Meeting10 The VistA menu Items

6/15/200715th VistA Community Meeting11 Setting VistA Preferences -1

6/15/200715th VistA Community Meeting12 Setting Preferences for the VistALink Connection

6/15/200715th VistA Community Meeting13 Setting Preferences for the M-Editor functionality

6/15/200715th VistA Community Meeting14 After Clicking OK for the Preferences and then Clicking on the Green ‘M’ icon

6/15/200715th VistA Community Meeting15 After Selecting the Routine, You have to sign on to the server

6/15/200715th VistA Community Meeting16 And the routine is loaded

6/15/200715th VistA Community Meeting17 The center section is the editing area, and multiple routines may be open at one time (tabs)

6/15/200715th VistA Community Meeting18 The Left Panel contains projects – only files which are in a project may be edited – the default is mcode. An ‘m’ extension is used for the files.

6/15/200715th VistA Community Meeting19 The right panel contains an outline of routine tags. Selecting one of these will jump to that location in the routine.

6/15/200715th VistA Community Meeting20 Adding a new section of code. The error is intentional.

6/15/200715th VistA Community Meeting21 The left gutter is marked where lines have been added or changed. The tab is also marked to indicate a modified routine.

6/15/200715th VistA Community Meeting22 The outline also shows the added tag.

6/15/200715th VistA Community Meeting23 On saving the routine (cntrl-S or the icon), it indicates an error encountered.

6/15/200715th VistA Community Meeting24 The problems are identified in the M-Editor Console at the bottom. It points out the error, and several variables which are at risk (neither arguments or newed).

6/15/200715th VistA Community Meeting25 On saving a routine The routine is written to the project (mcode by default). The server is checked to insure that the routine on the server hasn’t changed since it was loaded into Eclipse. If the server version hasn’t changed (or you approve the write over), the routine is saved on the server. The part of XINDEX checking for errors is run with the routine. Any warnings or errors cause a dialog box to pop-up to insure that the user is aware of the problems.

6/15/200715th VistA Community Meeting26 On Saving A Routine - 2 The routine is checked for variables which are not arguments and which have not been newed. In most cases, you probably want to protect them. Variables which are expected to be visible outside the routine can be identified with a special comment e.g. ; ZEXCEPT: IO,DUZ KERNEL VARIABLES If an M-Unit test has been identified for the routine, the unit test is run and the roll & scroll results are shown (periods for passed tests, Texts for failures or errors).

6/15/200715th VistA Community Meeting27 On Saving A Routine - 3 The default action on saving is to enter or update the routine in the ROUTINE file, and to update the date and time for the routine on the first line.

6/15/200715th VistA Community Meeting28 So, I fixed the error and NEWed the variables.

6/15/200715th VistA Community Meeting29 On Saving again A dialog box appeared indicating no problems identified.

6/15/200715th VistA Community Meeting30 Some Benefits of the Project Entries The mcode project in the left panel now contains the most recent version of the routine that was edited. Right Click on the routine, and a number of options are available. –Properties – An M-Editor section allows an M-Unit routine to be specified. –Compare With local history allows the current routine to be compared with prior versions (the length of time the routines are saved is determined by a preference (General – Workspace – Local History)) –Replace With allows the current routine to be replaced with an earlier version.

6/15/200715th VistA Community Meeting31 M-EditorProperties for XTMDUTIL

6/15/200715th VistA Community Meeting32 Compare with Local History lets you walk through the changes. You can then use the Replace With to restore a prior version.

6/15/200715th VistA Community Meeting33 If a routine is specified for loading that doesn’t exist on the server, it provides a place to generate the comments for the first two lines (and specify an M-Unit routine for the new routine)

6/15/200715th VistA Community Meeting34 And then opens the new routine in the editor for further editing

6/15/200715th VistA Community Meeting35 There are other functions on the VistA menu available as well A listing of routines with names beginning with specified characters A listing of globals with names beginning with specified characters A listing of global values (both a simple listing and a listing which can be copied and pasted into another account). These are all non-editable, but can be copied for editing elsewhere.

6/15/200715th VistA Community Meeting36 A request for a Routine Directory listing

6/15/200715th VistA Community Meeting37 Generates the listing below

6/15/200715th VistA Community Meeting38 A request for a global directory listing

6/15/200715th VistA Community Meeting39 And a list of global names beginning with X

6/15/200715th VistA Community Meeting40 A request for a global listing – note the “Setup for copying” check box

6/15/200715th VistA Community Meeting41 A normal global listing

6/15/200715th VistA Community Meeting42 And a global listing setup for copying

6/15/200715th VistA Community Meeting43 Work in progress – In addition to the Red M on Green, there is a bug on an M

6/15/200715th VistA Community Meeting44 Selecting the Option or the M-bug icon displays a dialog box for the code to be processed

6/15/200715th VistA Community Meeting45 An OK on the dialog box causes the Eclipse to change to a debugging perspective for M

6/15/200715th VistA Community Meeting46 The upper left section displays the stack, the current line of code, the last command executed and the next to be executed, it also contains the icons for controlling progress.

6/15/200715th VistA Community Meeting47 The upper right area has panels for breakpoints in the code, variable values, setting watch variables, and their display, and initialization values

6/15/200715th VistA Community Meeting48 The middle and bottom portions contain the code being processed and the console for text display and input

6/15/200715th VistA Community Meeting49 Debugging Initially, the debugger displays only the line to be processed. The debugger can be set to step over commands or to run (in the latter case, stops will be made when watch variables change or when a line of code specified as a breakpoint is reached).

6/15/200715th VistA Community Meeting50 The code that will be processed

6/15/200715th VistA Community Meeting51 Setting two breakpoints

6/15/200715th VistA Community Meeting52 Setting two watch variables (Y and VAL1)

6/15/200715th VistA Community Meeting53 After a couple of steps

6/15/200715th VistA Community Meeting54 The mass of variables can be selected with filters (at the bottom)

6/15/200715th VistA Community Meeting55 After running, it stopped because of the watch variable Y, the current line of code is the third from the top of the code shown. Also, text was written to the console.

6/15/200715th VistA Community Meeting56 This stopped due to one of the breakpoints

6/15/200715th VistA Community Meeting57 This stopped due to the watch value VAL1 going from undefined to 3

6/15/200715th VistA Community Meeting58 The watch value VAL1 bounces between undefined and defined, note the level of the stack as it calculates a factorial

6/15/200715th VistA Community Meeting59 Stopped due to the other breakpoint just before it leaves with the factorial value

6/15/200715th VistA Community Meeting60 And processing was finished

6/15/200715th VistA Community Meeting61 Summary The Eclipse IDE can be used to edit (and shortly) debug MUMPS code. And you don’t have to know any Java to do it.

6/15/200715th VistA Community Meeting62 Questions? And maybe some answers