Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Art of Debugging Shlomy Gantz 02/13/01MDCFUG.

Similar presentations


Presentation on theme: "The Art of Debugging Shlomy Gantz 02/13/01MDCFUG."— Presentation transcript:

1 The Art of Debugging Shlomy Gantz 02/13/01MDCFUG

2 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Introduction - Famous Last words  “…if debugging is defined as the art of taking bugs out of a program, programming must be putting them in…”  “..It’s not a bug, It’s a feature “ (Microsoft)

3 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Types of bugs  Syntax Error  Run-Time Errors  Logical Errors

4 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Types of bugs - Syntax Errors  Syntax Error Example View Example View Example

5 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Types of bugs - Run-Time Errors  Run-Time Error Example SELECT SUM(Salary) AS TotalSalary, COUNT(Emp_ID) as NumOfEmployees FROM AnnualSalary WHERE SALARY > 100000 #AVGSalary# View Example View Example

6 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Types of bugs - Logical Errors  Logical Error example #YesNoFormat(ShlomyExists_YN)# View Example View Example

7 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Other things that can go wrong  Database connection (ODBC,MDAC …)  Cold Fusion server  Web Server  OS  Hardware

8 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Debugging Steps  Plan  Back-up  Isolate  Find The error  Fix - Don’t patch  Look for similar  Document

9 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 “Debugger’s Block”  If all else fails  … and if that doesn’t work

10 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Cold Fusion Administrator

11 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Enable Performance Monitoring View Example View Example

12 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Enable CFML stack trace  CF tracks what tags have run during page process.  Can be used either through CFTRY/CFCATCH or the Studio Debugger Debugger

13 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Show Variables  Show all variables processed by ColdFusion: FORM FORM URL URL CGI CGI Cookie Cookie

14 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Show Processing Time  Show how long, in milliseconds, it takes for a page process to  run to completion

15 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Detail View  Breakdown of all templates run during a page process.  Proccessing time for each template

16 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Show SQL and Datasource Name  Shows SQL Statement & DSN in error messages

17 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Show Query Information  Query Name  RecordCount  Processing Time  Query Executed

18 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Display Template Path in Error Msg  Show the name of the actual template in which with the error occurred

19 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Restrict Debug Access  By Default All when debugging is turned on all users can see debug information.  You can restrict access to the debugging info through this feature by IP address

20 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Debugging with studio  Setting up Development Mapping.

21 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Using the interactive debugger

22 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Debugging CF applications  Show your variables (not only once)  Create breakpoints and Follow the flow  Use Exception handling  Look at your application logs  CF_ObjectDump

23 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 &  Using CFABORT to create breakpoints Select * from Contacts WHERE Active_YN=1 #getContacts.recordcount#

24 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 &  Following the flow Step 1 Step 1.1 Step 1.2 Step 2 View Example View Example

25 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Debugging in CFML   View Example View Example View Example View Example

26 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Debugging CF applications  

27 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01  

28 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01   ... Add code here   ... Add exception processing code here ... Add exception processing code here ... Additional CFCATCH blocks go here ... Additional CFCATCH blocks go here

29 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01  

30 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Application Logs  Read your application logs regularly Error","TID=199","07/27/00","13:32:35","127.0.0.1","Mozilla/4.0 (compatible; MSIE 4.01; Windows NT)","An error has occurred. HTTP/1.0 404 Object Not Found" "Error","TID=199","07/27/00","13:32:45","127.0.0.1","Mozilla/4.0 (compatible; MSIE 4.01; Windows NT)","Error resolving parameter SLOT_IDColdFusion was unable to determine the value of the parameter. This problem is very likely due to the fact that either: You have misspelled the parameter name, or You have not specified a QUERY attribute for a CFOUTPUT, CFMAIL, or CFTABLE tag.The error occurred while evaluating the expression: #slot_id# The error occurred while processing an element with a general identifier of (#slot_id#), occupying document position (4:12) to (4:20) in the template file D:\wwwroot\cfun2000\Examples\JS\JSexample1_CFMW\edit_def.cfmThe specific sequence of files included or processed is:D:\WWWROOT\CFUN2000\EXAMPLES\JS\JSEXAMPLE1_CFMW\EDIT_DEF.CFM.Date/Time: 07/27/00 13:32:45Browser: Mozilla/4.0 (compatible; MSIE 4.01; Windows NT)Remote Address: 127.0.0.1HTTP Referer: http://127.0.0.1/cfun2000/Examples/JS/JSexample1_CFMW/EDIT.HTMLTemplate: D:\wwwroot\cfun2000\Examples\JS\JSexample1_CFMW\edit_def.cfm" "Warning","TID=152","07/27/00","15:07:21","In a CF_TagName construct custom tag file 'C:\CFUSION\CustomTags\Pages.cfm' will occlude custom tag file 'C:\CFUSION\CustomTags\cf_pages\Pages.cfm'." "Warning","TID=152","07/27/00","15:07:21","In a CF_TagName construct custom tag file 'C:\CFUSION\CustomTags\Pages.cfm' will occlude custom tag file 'C:\CFUSION\CustomTags\cf_pages\images\Pages.cfm'." View Example View Example

31 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 CF_Objectdump  Read your application logs regularly <CF_ObjectDump Object="#Object#" Deserialize="yes|no" > View Example View Example

32 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Debugging Databases  SQL query analyzer

33 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Debugging JavaScript  “Microsoft Script debugger”/“Netscape JavaScript Debugger”  Using alert() and return false;

34 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Debugging flash  No debug output  simulated flash requests  output in flash

35 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Tools  http://www.secretagents.com/ http://www.secretagents.com/  BugTraq BugTraq  http://www.logviewer.com/ http://www.logviewer.com/  Automatic Code Generation Tools CodeSaver / CodeCharge / CommerceBlocks CodeSaver / CodeCharge / CommerceBlocks CodeSaverCodeChargeCommerceBlocks CodeSaverCodeChargeCommerceBlocks

36 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 What’s new in 5.0  Easier Log Analysis

37 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 What’s new in 5.0  New options on CF Admin debug setting

38 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 Thank You  Michael Dinowitz, Emily Kim, Michael Imhoff and Abraham Lloyd.  … Michael Smith

39 “The Art of Debugging - Copyright Shlomy Gantz 2001 – 03/13/01 QA  Shlomy Gantz shlomygantz@hotmail.com http://www.shlomygantz.com


Download ppt "The Art of Debugging Shlomy Gantz 02/13/01MDCFUG."

Similar presentations


Ads by Google