Step Through Your CFML Code With FusionDebug Charlie Arehart

Slides:



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

WEB AND WIRELESS AUTOMATION connecting people and processes InduSoft Web Solution Welcome.
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.
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.
Week 2 IBS 685. Static Page Architecture The user requests the page by typing a URL in a browser The Browser requests the page from the Web Server The.
Dynamic Web Pages Bert Wachsmuth. Review  Internet, IP addresses, ports, client-server, http, smtp  HTML, XHTML, XML  Style Sheets, external, internal,
DEV450 Visual Studio: Best Practices For Debugging Managed Applications Habib Heydarian Scott Nonnenberg Program Managers Microsoft Corporation.
Resources for ColdFusion Development Webmaster Rule Number One: When a potential employer/client asks you if you've ever worked with XYZ software running.
BI Publisher and Report Manager Mark Bulle, DP&L
+ 1Getting Started with WAP and WML Marrying Java & ColdFusion Charles Arehart Founder/CTO, Systemanage ©
Step Through Your CFML Code With FusionDebug Charlie Arehart
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
The Art of Debugging Shlomy Gantz 02/13/01MDCFUG.
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
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.
ColdFusion MX Rob Filardo and Lindsay Matteo A Brief History ColdFusion 1.0 was created in 1995 by Adam Berrey in order to help HTML programmers create.
Flex Data Communications Nick Kwiatkowski, Michigan State University.
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.
_______________________________________________________________________________________________________________ PHP Bible, 2 nd Edition1  Wiley and the.
Flex 2 We’re Not in Kansas Anymore! or Welcome to Flex Theo Rushin Jr TeraTech, Inc.
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
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.
Separating the Interface from the Engine: Creating Custom Add-in Tasks for SAS Enterprise Guide ® Peter Eberhardt Fernwood Consulting Group Inc.
David Lawrence 7/8/091Intro. to PHP -- David Lawrence.
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.
ColdFusion MX 7 “Blackstone” Macromedia, Inc. macromedia 2005 Living With Today’s Internet Chronic problems continue to exist for users and developers.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
MySpace.com – One Year Later & CFML on the.NET Platform Overview Vince Bonfanti President, New Atlanta.
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.
BlueDragon Editions and Advantages Lori Pacheco New Atlanta.
CFUNITED – The premier ColdFusion conference David Epler Constella Group Choices: The Other ColdFusion Servers.
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,
CFUNITED – The premier ColdFusion conference Using Event Gateways with CFMX7 By Jeff Tapper Tapper.net Consulting.
Top ten things I learned at CFUnited Rick Mason BusinessGrade.com.
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
ArcGIS for Server Security: Advanced
Data Virtualization Demoette… Logging in CIS
CF101: Welcome to ColdFusion
Data Virtualization Tutorial… CORS and CIS
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 President, Atlanta ColdFusion User Group Past accomplishments of note Tech Editor, CFDJ ( ) Certified Adv CF Developer (4, 5, MX), Instructor Frequent speaker: UGs, confs worldwide

Introduction to Step Debugging Understanding interactive debugging What can it do for you? 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. Do need to download Eclipse or use with Flex Builder, which is Eclipse; or CFEclipse if you have it installed already 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 Features Can step through code, including tags, functions, CFCs, includes, custom tags, and so on As well as stepping through a page, you can also Step Into (or out of) sub tags, CFC calls and function calls Can list all variable and scopes View all scopes available to your page and view anything stored within. See values change as you step through page Expression Watcher Create arbitrary expressions, from simply outputting a variable to showing the result of an if condition and the Expression Watcher will dynamically evaluate them Query Support Open queries to see row data, column names and data types. Also, when looping through a query the Current Query feature lets you know exactly which row youre on

FusionDebug Demo Lets see it in action

Demo 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

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, or as web service Can debug when someone besides the developer is calling a template Can debug against production Can debug on remote machine Can change the value of variables on the fly during execution

Benefits Over CFDUMP/CFOUTPUT 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 Can view call stack during execution Can view the Java classes called to execute your code See reactor.com/fusiondebug/support.html# config2 And thats not even all of them

Other Features Flex 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 Can also debug CFCs called from Flex even without using FlexBuilder Can debug CFCs called from Flex, Flash Remoting, Ajax, web services, or CFMX gateways (SMS, event, etc.) as they call CFCs

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 started a series of blog entries on it

Gotchas: Using FD Breakpoints remain alive for any user (not just debugging developer) if debug session active If any user runs the requestthey will see page hang Only developer with FD open sees its stopped on line This is unlike CF4/5 debugging, so be aware Can use skip all breakpoints option to temporarily disable in multi-user environments Be careful holding breakpoint within CFLOCK or CFTRANSACTION tags for too long (impacts other users in other pages) Can set breakpoint on non-CFML or blank line, but wont fire May not fire if on CFSCRIPT or CFRETURN and in some other instances See: reactor.com/fusiondebug/support.html#breakpoints4 Can try to set variable for query column but wont take When setting variable that can be evaled as expression ( ), will do math so surround it in quotes to coerce as string

Gotchas: FD Setup FD has only minor impact when debugging not active, due to changes made in jvm.config So can run in production, but perhaps should think twice When setting port in Debug settings, it should be that for FD, not the web server serving CFML pages If using FusionReactor (Intergrals CF monitor tool), should disable crash protection feature If you CFEclipse and dont see line pointer highlighted, can configure that See reactor.com/fusiondebug/support.html#cfeclipse2 Firewalls or port restrictions can get in the way sometimes

Troubleshooting If you see no CIP moving with debugging be sure to associate debug session source code properties with a project, not the filesystem (see docs for steps) If debugging just stops, you may have the CFMX page request timeout thats killing the page See Admin Timeout Requests after x seconds This is disabled by default in 6.1, enabled by default in 7 If a runtime error occurs, FD will also seem to stop (but error has been sent to the browser) A few others listed in docs (above items are not, currently)

Pricing, Discounts, Trials List price: US$ 299 Available 10% Discount Code: CFCOMMUNITY Priced per seat, available volume discounts Available free trial (20 days) Ive arranged 2 licenses to give away tonight

FAQs 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 How do I get support? Intergral offers free support: Whats with the name/spelling Intergral? Formed from Internet and Integration

Conclusion Great solution, finally, for CFML debugging Sure, it costs money, but will pay for itself if youll benefit from debugging Some debugging naysayers. To each his own Intergral support has been great Available free support at reactor.com Very interested in supporting community

Questions on presentation Charlie Arehart 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