Step Through Your CFML Code With FusionDebug Charlie Arehart

Slides:



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

Step Through Your CFML Code With FusionDebug Charlie Arehart
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
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.
Getting Started with Colleague Studio Debugger Presented by:Katie Morgan Pacific University August, 2014.
Understanding SQL Server 2005 ReportBuilder Even For Those With: - No Servers Yet Converted to 2005, - No External Users Needing Reports, and - No Prior.
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.
Exploring Real-time apps with ColdFusion and Blaze DS / Live Cycle Data Services ES Dan Blackman
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
Prepared by Stephen Olaño June 12, Rich Internet Applications It allow to build rich applications with data and multimedia contents, offering a.
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.
Data File Access API : Under the Hood Simon Horwith CTO Etrilogy Ltd.
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
Flex 2.0 Flex for ColdFusion developers Part 1. What is Flex Flex allows developers to create Flash content for Rich Internet Applications in a more programmer.
Your First Flex Application Nick Kwiatkowski 1/11/07.
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.
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.
Installing, Configuring And Troubleshooting Coldfusion Mark A Kruger CFG Ryan Stille CF Webtools.
March 12 & 13, 2007 IIS 7.0 for CFML Developers Deploying on IIS 7.0 with Adobe ColdFusion and New.
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.
1 Session Number Presentation_ID © 2001, Cisco Systems, Inc. All rights reserved. Using the Cisco TAC Web Site for LAN Switching Issues Cisco TAC Web Seminar.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of The Eclipse debugger.
CF Pest Control By Shlomy Gantz President, BlueBrick Inc. Presented by Sandra Clark
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.
CSE 351 GDB Introduction. Lab 1 Status? How is Lab 1 going? I’ll be available at the end of class to answer questions There are office hours later today.
Charlie Arehart, CTO BlueDragon A New Platform for Fusebox 4.
CFCs in Practice Raymond Camden Senior Developer, Mindseye Technologies.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 What we'll cover here l Using the debugger: Starting the debugger Setting.
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.
Debugging tools in Flash CIS 126. Debugging Flash provides several tools for testing ActionScript in your SWF files. –The Debugger, lets you find errors.
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.
Error Handling Michael Smith President TeraTech, Inc ColdFusion, Database & VB custom development
CFUNITED – The premier ColdFusion conference David Epler Constella Group Choices: The Other ColdFusion Servers.
Cool CF Debugging Shlomy Gantz 07/29/01CF_ODYSSEY.
MICROSOFT AJAX CDN (CONTENT DELIVERY NETWORK) Make Your ASP.NET site faster to retrieve.
CF Eclipse Nick Kwiatkowski Michigan State University, Physical Plant 8/8/2006.
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.
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
Data Virtualization Demoette… Logging in CIS
Appendix A Barb Ericson Georgia Institute of Technology May 2006
Using Visual Studio with C#
Nate Nelson I*LEVEL, Inc.
Testing, debugging, and using support libraries
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 President, Atlanta ColdFusion User Group Past accomplishments of note Tech Editor, CFDJ ( ) Certified Adv CF Developer (4, 5, MX), Instructor Frequent speaker: UGs, conf’s worldwide

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 don’t 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 Let’s 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 don’t 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 that’s 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 Impact of debugging session being enabled Again, any requests for page being debugged will halt if breakpoint hit Be careful holding breakpoint within CFLOCK or CFTRANSACTION tags for too long (impacts other users in other pages) Favor “Step Over” versus “Step Into”, when on tags/functions that don’t open files Watch for “Stepping” in the Stack Trace Just means it’s working More at ndebug_part4_tips_and_traps

Troubleshooting 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 a runtime error occurs, FD will also seem to stop (but error has been sent to the browser) If debugging just stops, CFMX admin’s “request timeout” may be killing the page See Admin “Timeout Requests after x seconds” This is disabled by default in 6.1, enabled by default in 7 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 I’ve 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) I’ve arranged 2 licenses to give away tonight

FAQs Why isn’t 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 I’ve 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, that’s 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 you’ll benefit from debugging While there are some debugging naysayers, to each his own Try it for yourself and see if it doesn’t 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 I’d 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