Step Through Your CFML Code With FusionDebug Charlie Arehart

Slides:



Advertisements
Similar presentations
Step Through Your CFML Code With FusionDebug Charlie Arehart
Advertisements

Legal Meetings: Extended Instructions on Movica and Screencast.
Introduction to Eclipse cs112b1 – Lab01 by Rui Shi.
ColdFusion MX and Web Services From Creation and Consumption.
CF and JSP/Servlets Developed originally by Robi Sen For the CF UnderGround II Seminar, Apr 2001 Edited and enhanced by Charlie Arehart (Robi had an emergency.
Web Applications Development Using Coldbox Platform Eddie Johnston.
DEV-13: You've Got a Problem, Here’s How to Find It
Web Development in Microsoft Visual Studio Slide 2 Lecture Overview Introduce Visual Studio 2013 Create a first ASP.NET application.
Object-Oriented Enterprise Application Development Tomcat 3.2 Configuration Last Updated: 03/30/2001.
March 12 & 13, 2007 Mark Drew Reloaded.
Fast Track to ColdFusion 9. Getting Started with ColdFusion Understanding Dynamic Web Pages ColdFusion Benchmark Introducing the ColdFusion Language Introducing.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Resources for ColdFusion Development Webmaster Rule Number One: When a potential employer/client asks you if you've ever worked with XYZ software running.
1 Agenda Overview Review Roles Lists Libraries Columns.
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
Step Through Your CFML Code With FusionDebug Charlie Arehart
Server-Side Source Control It really can work! Charlie Arehart SysteManage
Flash Remoting Chafic Kazoun Senior Flash Developer - B-Line Express Work: Play:
Step Outside the Box – Part II ColdFusion and Ajax.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
The Art of Debugging Shlomy Gantz 02/13/01MDCFUG.
Loops in CF: To loop or not to loop? Neil Ross
What’s New in CF 8 Admin MDCFUG 8/14/2007 Ajay Sathuluri Sr. Web and Database Engineer TeraTech Inc.
Introduction to LiveCycle Data Services Nick Kwiatkowski Michigan State University.
COLD FUSION Deepak Sethi. What is it…. Cold fusion is a complete web application server mainly used for developing e-business applications. It allows.
LiveCycle Data Services Introduction Part 2. Part 2? This is the second in our series on LiveCycle Data Services. If you missed our first presentation,
Deploying CFML on J2EE: Opportunities & Challenges Charlie Arehart, CTO New Atlanta Communications
HTML Hyper Text Markup Language A simple introduction.
ColdFusion 9 and Flex 4: Application Development Ryan Stewart Platform Evangelist, Adobe Systems
HTML_Generators WB_HTML_Generators. What method are you going to choose to build your web page? MethodWrite Convert Html IssuesHTML HTML Editors Tool.
Introduction to Model-Glue Rachel Lehman Perpetual Intermediate Designer-Developer Introduction to Model-Glue.
Using Event Gateways with CFMX7 By Jeff Tapper Tapper.net Consulting.
Introduction to ColdFusion Yu Fu 2003 MEC Candidate.
Flex Data Communications Nick Kwiatkowski, Michigan State University.
DEV339 Best Practices for Debugging Visual Studio.NET Applications Keith Pleas Architect, Guided Design
Flex 2 Flex, ColdFusion and the Wizard Oh My! or Introducing the Flex/ColdFusion Wizard Theo Rushin Jr TeraTech, Inc.
2006 Adobe Systems Incorporated. All Rights Reserved. Designing & Building Structured Business Reports with ColdFusion MX 7 Adam Lehman ColdFusion Specialist.
What’s New from Macromedia Simon Horwith CTO Etrilogy, Ltd.
Flex 2 We’re Not in Kansas Anymore! or Welcome to Flex Theo Rushin Jr TeraTech, Inc.
Introduction to Client Side Scripting CS Client Side Scripting Client side means the Browser is interpreting the script Script is downloaded with.
Application.cfm tips and Tricks Michael Smith President TeraTech, Inc ColdFusion, database & VB custom development and training.
Dynamic Debug Output and Error Handling in CF5 and CFMX November 12, 2002 By Douglas M. Smith Application Architect for Teratech, Inc.
CF Pest Control By Shlomy Gantz President, BlueBrick Inc. Presented by Sandra Clark
What is Web Site Administration Tool ? WAT Allow you to Configure Web Site With Simple Interface –Manage Users –Manage Roles –Manage Access Rules.
Online Conference June 17 th and 18 th SharePoint Online Administration with PowerShell.
CF101: Welcome to ColdFusion Simon Horwith CTO, Etrilogy Ltd.
The Future of ColdFusion Christian Cantrell ell.
Charlie Arehart, CTO BlueDragon A New Platform for Fusebox 4.
Syntegra Logo Slide Increasing Productivity By Using Homesite + Jo Belyea-Doerrman CFFUN 03 June 22, 2003.
David Lawrence 7/8/091Intro. to PHP -- David Lawrence.
CFUNITED – The premier ColdFusion conference ColdFusion Components Ajay Sathuluri Based on presentation.
Theo Rushin, Jr. Senior Web Application Developer World Singles and DoubleBlack Technologies 12/26/
Debugging In Flex Nick Kwiatkowski. Debugging Overview Debugging your applications helps you as a developer create smooth running applications Not just.
Laszlo and WebOrb Alternatives for Flash Integration with ColdFusion & BlueDragon Charlie Arehart, CTO.
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.
Randy Brown April 12, 2005 Reporting with ColdFusion MX v7.0: Web Reporting-Freedom Realized.
Error Handling Michael Smith President TeraTech, Inc ColdFusion, Database & VB custom development
JavaScript Invented 1995 Steve, Tony & Sharon. A Scripting Language (A scripting language is a lightweight programming language that supports the writing.
Cool CF Debugging Shlomy Gantz 07/29/01CF_ODYSSEY.
Introduction of Wget. Wget Wget is a package for retrieving files using HTTP and FTP, the most widely-used Internet protocols. Wget is non-interactive,
CF Eclipse Nick Kwiatkowski Michigan State University, Physical Plant 8/8/2006.
CFUNITED – The premier ColdFusion conference Using Event Gateways with CFMX7 By Jeff Tapper Tapper.net Consulting.
June 28 th – July 1 st 2006 Thomas Burleson Principal Architect Understanding Flex 2 Data Services “With ColdFusion, why should.
Thomas Burleson. Using MVC with Flex & Coldfusion Projects June 27, 2007 See how Coldfusion MVC is similar to Flex MVC…
CFUNITED – The premier ColdFusion conference Creating and Consuming Web Services with CFML Charlie Arehart
CF101: Welcome to ColdFusion
Using Visual Studio with C#
Nate Nelson I*LEVEL, Inc.
Intergral Team at CFUnited
Presentation transcript:

Step Through Your CFML Code With FusionDebug Charlie Arehart

Topics Introduction to Step Debugging FusionDebug Features FusionDebug Demo Benefits Over CFDUMP/CFOUTPUT Other Features, Learning More, Gotchas, Pricing, FAQs, etc.

About Your Speaker Independent consultant since Sept 2006 Formerly CTO, New Atlanta (BlueDragon) 9 yrs CF experience (24 in Enterprise IT) Member, Adobe Community Experts Co-author, ColdFusion MX Bible (Wiley) Frequent contrib. to ColdFusion Dev Journal Past accomplishments of note Tech Editor, CFDJ ( ) Certified Adv CF Developer (4, 5, MX), Instructor President, Atlanta ColdFusion User Group Frequent speaker: UGs, confs worldwide New web home at Hosts my blog; lists all my past articles, presentations Home of UGTV: recordings of dozens of CFUG speakers

Introduction to Step Debugging Understanding interactive debugging What can it do for you? Step through code line-by-line (where needed) View variables, in all scopes, at that point Watch particular expressions, to observe changes Even change variables on the fly during execution And more Past debugging solutions (CF4, 5) No current or discussed plans for CFMX FusionDebug from Intergral CFML step debugging for CFMX 6.1/7+

About FusionDebug Is an Eclipse (3.1, 3.2) plug-in You dont NEED to use Eclipse for editing Can continue to edit in DWMX, CF Studio, HomeSite+, etc. You do need to download Eclipse (free, easy) Unless you already have Flex Builder or CFEclipse, which are also Eclipse plug-ins Why did they build it atop Eclipse? It had Java debugging in it already, so Intergral could leverage that and add their value in translating that to CFML. Easy to install Eclipse, FusionDebug Requires just a minor change in JVM config for CFMX server Add a couple JVM entries, name a port for debugger to listen on You then do a minor setup in Eclipse to enable debugging against that server All of the above is well-documented in the FusionDebug User Guide, free online

FusionDebug Demo Lets see it in action

Demoed Features Enabled debugging, stepping through code Enabled watches and setting variables can do with right-click on var/expression Showed simple cf code (CF Example Apps) Set variables on the fly Showed query data in variables pane Showed CFC-based code (Model Glue) Showed scopes available in CFC methods var and this scopes Showed how stack is interactive click to jump to lines in chain above current instruction Showed debugging web service code Showed debugging Flex apps

Other Features Yes, it can debug code within CFSCRIPT And yes, it can debug code within tags like CFOUTPUT, CFMAIL, CFSAVECONTENT, etc. You dont need to step through every page to get to a point deep in a series of pages Can just set breakpoint in desired file and request whatever page FlexBuilder and FusionDebug Can work alongside the Flex Debugger to debug any ColdFusion (.cfc) code being used within a Flex project Debugging perspectives switch automatically between debugging Flex and CFML Again, can debug CFCs called from Flex even without using FlexBuilder

Benefits Over CFDUMP/CFOUTPUT Can debug when a CFOUTPUT/CFDUMP may not be possible What are some examples? CFCOMPONENT/CFFUNCTION OUTPUT=false CFSILENT When generating XML What other tags may help in the above cases? Can debug without having to rely on finding the output of CFLOG or CFTRACE (or enabling the latter) Can debug without needing to change code Can debug requests from Flex, Ajax, Flash Remoting, web services, or CF7 gateways Can debug when someone besides the developer is calling a template Can debug against production Can debug on remote machine

Benefits Over CFDUMP/CFOUTPUT (cont.) Can change the value of variables on the fly during execution Can debug in situations where a simple CFOUTPUT/CFDUMP would not suffice (powerful Variables, Expressions panes) Can use the debugger to understand the flow of execution of the request (help newcomers to your code, or to CFML in general) Can debug in situations where you don't even know where in a complex app to try to do CFOUTPUT or CFDUMP

Benefits Over CFDUMP/CFOUTPUT (cont.) Can view call stack during execution Can view the Java classes called to execute your code See reactor.com/fusiondebug/support.html#config2 See more details on all these at: usiondebug_part2_why_use_versus_cfdump And thats not even all of them See more at reactor.com/fusiondebug/about.html

Tips and traps Impact of debugging being configured in server garbage collection impacted by change made in jvm.config Favor Step Over versus Step Into, when on tags/functions that dont open files Watch for Stepping in the Stack Trace Just means its working No way to see output being generated, currently CFLOCK and CFTRANSACTION tag impact Be careful holding breakpoint within these for too long (impacts other users in other pages) More at ndebug_part4_tips_and_traps

Troubleshooting If a runtime error occurs, FD will also seem to stop (but error has been sent to the browser) If debugging just stops, CFMX admins request timeout may be terminating the page See Admin Timeout Requests after x seconds This is disabled by default in 6.1, enabled by default in 7 If you see no CIP moving with debugging be sure to open a file (or associate debug session source code properties) from an Eclipse project, not from the filesystem (see docs for steps) If breakpoints fail to fire as expected See reactor.com/fusiondebug/support.html#breakpoints4

Learning More Documentation (very good) available online User guide walks through configuration of the CF Server, Eclipse, and use of FusionDebug Several Captivate demos Available CFML templates to test with Great to get started, to work through initial introductory features and challenges Rather than jumping into the middle of debugging a big app as your first test Ive done a series of blog entries on it And have upcoming articles in CFDJ, FAQU

Pricing, Discounts, Trials List price: US$ 299 Available 10% discount code: CFCOMMUNITY Special 20% discount code through Oct 2006: GOT2DEBUG Priced per seat, available volume discounts Newly announced Community (Non- commercial) edition, $99 More details at Available free trial (20 days) Ive arranged 2 licenses to give away tonight

FAQs Why isnt Adobe doing this? Should they allocate limited development dollars to add this, or other cooler features that only they can do? And if they did, would it be free? Does FusionDebug work with BlueDragon? Not currently. They are in talks But you could install free Dev edition of CFMX and debug against that Does it work with CF4 or 5? No, it is specific to CFMX Can it work without Eclipse? No, it is specific to Eclipse Must I use/learn how to use Eclipse? Nothing more than what Ive shown here, really Must I use/learn how to use CFEclipse? No, FusionDebug is not connected to CFEclipse You can use your favorite CFML editor to edit Just use FD to do debugging …

FAQs Does it support debugging Javascript? Actionscript? Java? No, thats left to others. Eclipse already can debug Java, and FlexBuilder can debug ActionScript. Other tools offer Javascript debugging inside Eclipse JavaScript Eclipse Debugger Plug-in: 70.html#jsdebug ActionScript debugging in FlexBuilder: pl/common/html/wwhelp.htm?context=Using_Flex_Builder&file=brady3 18.htm How do I get support? Intergral offers free support:

Conclusion Great solution, finally, for CFML debugging Sure, it costs money, but will pay for itself if youll benefit from debugging While there are some debugging naysayers, to each his own Try it for yourself and see if it doesnt help The challenge is simply remembering to use it! Intergral support has been great Available free support at reactor.com Very interested in supporting community

Questions on presentation Charlie Arehart Id really appreciate your feedback Also available for setup and implementation consulting As well as other developer productivity coaching, system admin and tuning support, and more Remote or on-site Giveaway of 2 licenses