[Looking for Charlie's main web site?]

Corrected version of my Sept CFDJ article available online

Note: This blog post is from 2006. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
While it may seem old news, I want to point out that if you've received the print version of the September edition of the CFDJ (which came out in October), you may have seen my article on "FusionDebug Tips, Tricks, and Traps". Due to some glitches, the version printed was not the final, edited version I had offered.

I was able to arrange to get the corrected article posted in the electronic version of the article, free for you to read, on the CFDJ site. If you're interested in the topic and/or the article, please do check it out online.

Switching among source windows in Eclipse/CFEclipse

Note: This blog post is from 2006. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Those who know me well know I'm a big fan of keyboard shortcuts. I could give a whole session on them (and perhaps someday will), so I want to share one that I learned and which is useful if using Eclipse, CFEclipse, or FusionDebug. While many know ctrl-tab will swap among windows in many programs, that doesn't work in Eclipse. Try ctrl-F6 instead, which will show a drop down list of open files and let you scroll forward through them. To go backwards in the list, use Shift-ctrl-f6. Cheers.

PS For other keyboard shortcuts I've shared, going beyond things related to CF, check out the category/tag on the topic at my other (older) blog, tipicalcharlie.com: http://www.tipicalcharlie.com/tags/?/keyboard%2Bshortcuts (domain gone, page recovered from Archive.org)

PPS The entry above on ctrl-f6 is just one more point to be made about looking at Eclipse as a whole when using either CFE or FD. Don't just focus on what those plug-ins add, but rather also on the built-in features of the Eclipse interface which may help you with day-to-day functionality.

Update: Since writing this in 2006, note the several comments below where people offered still more. And of course since then CFBuilder has come out, and with its built-in Aptana offers still more of them. Indeed, in a talk I did on hidden gems, I list other shortcuts for switching windows.

My latest 2 CFDJ articles

Note: This blog post is from 2006. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Check out the 2 latest articles I've done in the CFDJ (you can read them online for free): one is on FusionDebug Tips and tricks, and the latest is on using the nifty (free) LogParser tool with CF.

Sys-con has been working hard to catch up on late delivery of the magazine, as well as to bolster the content with topics that will appeal to a wider CFML audience. I'm glad to be a part of that effort after being quite absent myself for must of the past 3 years. (See the more than 50 other CFDJ articles I've done in the past 7 years.)

On my European swing for 2 weeks of speaking at CFUGs, classes, and Conference

Note: This blog post is from 2006. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
As I alluded to a couple of weeks ago, I'm now in the midst of a two week swing through Europe speaking at user groups and the CFDevCon conference, as well as teaching a couple of day-long classes. See the links below for more info. But here's where I'll be. If you're in the area, please come by and say hello:

Mon Oct 30, Zurich, CF User Group
Thurs Nov 2, Munich, CF User Group
Fri Nov 3, Munich, Day-long class on FusionDebug and FusionReactor
Mon Nov 6, Rome, Rome Adobe User Group
Thurs Nov 9, London, CFDevCon
Fri Nov 10, London, Day-long class on FusionDebug and FusionReactor

More info:

"Interested in a day of training on FusionDebug and FusionReactor? Join me in Europe"
http://carehart.org/blog/client/index.cfm/2006/10/11/presenting_all_day_fd_fr_class_in_europe

"Considering the London CF DevCon? It just got better: Ben Forta will be speaking"
http://carehart.org/blog/client/index.cfm/2006/10/16/ben_at_devcon

"More benefits for those who come to my FusionDebug/FusionReactor class the day after London CFDevCon"
http://carehart.org/blog/client/index.cfm/2006/10/18/london_training_offer

More benefits for those who come to my FusionDebug/FusionReactor class the day after London CFDevCon

Note: This blog post is from 2006. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
If you've been on the fence about attending the day-long class I'm doing (on FusionDebug and FusionReactor), the day after the CFDevCon in London (and Munich), here's good news and even more reason it's a great value.

First, while the original offer was that attendees would get a free license for FusionDebug for attending (basically making the day of training free), some have asked if they could have FusionReactor instead. Since they're about the same price, Intergral has agreed that you can have a license to FusionReactor instead, if you'd like. Many thanks to them! This applies to both the Munich and London classes, and you can choose which you will have on the day.

Second, regarding the London class specifically, if you've not yet registered for the DevCon itself the day before, here's better news: those who sign up now will get a free ticket to the Devcon as well. (Sorry, no refund available if you've already purchased your Devcon ticket.)

Again, the thanks for this go to Intergral for their generous offers of these bonuses.

That said, if you have any questions or concerns about these two offers, please direct them to David Tattersall. It's their offer, not mine. I'm just creating and presenting the class. They're handling all the organizational details. :-)

Interested in a day of training on FusionDebug and FusionReactor? Join me in Europe

Note: This blog post is from 2006. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Hey folks, if any of you will be going to the http://www.cfdevcon.com/ in London on Thurs, Nov 9 (where I and several other folks will be speaking on various CF topics), I want to point out an additional training opportunity.

The next day (Friday), I'll be giving an all-day training session on FusionDebug and FusionReactor, sponsored by the fine folks at Intergral, makers of the tools. I'll spend the day introducing the tools, sharing tips and tricks, and more. For more details, and to signup, see http://www.fusion-reactor.com/fastTrack.html.

The price is £249,00 (or about $312), but note this:

Each attendee gets a free copy of FusionDebug (full license), which lists at $299, so the training is really low-cost.

And for anyone near Germany, note that we'll be doing the same class in Munich on Nov 3, also detailed on the page above.

Please share the word with anyone you know who may be interested in these two tools. Those who know me know that I enjoy opening the fire-hose of information, so I hope you'd be sure to find it good value. :-)

We may well bring the classes to the US (and elsewhere) next, depending on how things go. So far, we have several signups and have only just started announcing it.

I'll be speaking tonight (Tues) and Thursday night in CFUG Breeze meetings on FusionDebug

Note: This blog post is from 2006. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
For those who may have missed previous chances to see my CFUG presentation on FusionDebug, I'll be giving it 2 more times this week, and both are open for you to join in via Breeze.

(While I've arranged to give away 2 copies of the product at each meeting, I don't know if the groups are setup to enable remote attendees to take part in the draw. Please respect their approach and enjoy the chance they're offering to have remote participants. Otherwise, if you missed the news, note the new reduced prices and Community edition available through October as I mentioned previously.)

Here are the details on each of the meetings.

Mid-Michigan CFUG Tonight, on FusionDebug

The first is at the Mid-Michigan CFUG, tonight (Tuesday, Oct 10) at 7pm EST. The Breeze meeting URL is:

http://adobechats.adobe.acrobat.com/r95948645/

ColdFusion Meetup Thursday Night, on FusionDebug

The second is at Steven Erat's ColdFusion meetup online CFUG, Thursday (Oct 12) at 6pm EST (note that his early announcements mistakenly said 7pm). He asks that you RSVP here:

http://coldfusion.meetup.com/17/calendar/5130559/

where you'll also find additional details about the meeting and the group. The URL for the meeting itself will be:

http://stevenerat.breezecentral.com/fusiondebug12102006/

He has over 82 RSVPs so far, so it will be a busy group. If you want a quieter environment to join in online, I'm sure the number of folks online for the Mid-Michigan meeting will be much smaller. I'm giving the exact same presentation to both.

Watching the recordings

I'm sure both groups will post URLs for watching the recordings when they're available, and I'll try to add that here (as a comment) as well as on my carehart.org/ugtv/ list of recorded presentations from CFUGs all over the world.

(I do notice that the Mid-Michigan group's breeze meeting URL looks a lot like the URL for most recorded presos, so until we get it posted, you may just want to try changing the "r" to a "p".)

FusionDebug Part 4 - Tips and Traps

Note: This blog post is from 2006. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
While the first 3 entries in my FusionDebug series of posts have been making the case for using the tool, the fact is that like any tool there are tips and traps that you'll do well to note. In this entry, I share several of these from my experience. First I'll share a few tips on using the tool, then a few on setup of the tool.

Tips and traps on Using the Tool

Favor "Step Over" versus "Step Into", when on tags/functions that don't open files

As you are at a breakpoint about to step to a new line of code, I'll recommend that you use "step over" in favor of "step into". The latter should be used only on tags like CFINCLUDE, CFINVOKE, CFC method calls, and other tags/statements that would open a new file. It allows you to follow the flow of control into that new file (opening it, and stopping at the first line of code within that file.)

Why would I recommend you do not use it on other tags and statements? Well, recall that CFML is built on Java underneath. I've found that sometimes "step into" will cause the Eclipse debugger to take a longer time while stepping through the underlying Java of a given tag or statement. Also, some CFML tags are built in CFML.

FusionDebug doesn't show you the underlying lines being stepped over in such Java or CFML files (it's configured not to by default), but the execution will take longer than if you had used "Step Over". I've found the problem happen with tags like CFDIRECTORY and CFDUMP as well as createobject() and findnocase(). When it happens, things will just seem to be hung, but be patient.

I'm stepping, but nothing happening

Related to the above, if you are doing stepping and things seem hung, for whatever reason, with nothing seeming to happen, watch for the term "Stepping" in the Stack Trace pane (at top right). That just means that it's working, and taking some time to do whatever you've asked. Simply be patient. Control should come back.

"I don't see the 'current instruction pointer' moving while stepping"

This is quite a gotcha, which threw off myself and the FusionDebug guys. In one circumstance, as I hit the "step over" and "step into" buttons, nothing seemed to be happening. The "current instruction pointer" wasn't changing. I thought it wasn't stepping at all.

I looked at the "stack trace" pane, and rather than show "stepping", it did indeed show that the execution was proceeding from one line to the next as I'd hit the buttons.

It turned out to be a problem related to my having opened the file using the file system, rather than via an Eclipse "Project". The docs explain how to open files "properly". Forewarned is forearmed.

Be careful holding breakpoints within CFLOCK or CFTRANSACTION tags for too long

You may not think of or notice this, but if you hold a breakpoint or do stepping within tags like CFLOCK or CFTRANSACTION, you could have a negative impact on other users in your environment.

In the case of CFLOCK, you could keep someone else (who's trying to obtain that lock) from being able to get that lock.

In the case of CFTRANSACTION, you could keep someone (even outside of ColdFusion) from being able to read or update the database you are updating within the CFTRANSACTION. The degree of impact will be influenced by the ISOLATION attribute you use (or its default) in the CFTRANSACTION.

If a runtime error occurs, FD will also seem to stop

Something to keep in mind is that if you find FusionDebug just seem to stop debugging, the problem may be that you've hit a runtime (or even compile time) error in the code, which will cause CF to send an error screen to the browser but will not send anything to the debugging stream that FusionDebug is watching. As such, FusionDebug will just lose its connection to the running program.

If debugging just stops, CFMX admin's "request timeout" may be killing the page

It's easy to forget that when you're in the midst of a debugging session, you're causing the page to take likely several seconds (perhaps even minutes) to run to completion. Recall as well that CFMX has an admin setting called "Timeout Requests after x seconds" which if enabled will cause ColdFusion to detect and halt a page if it takes longer than that time to execute.

Naturally, if it is enabled and you debug a page for longer than that duration, ColdFusion will intercept the request and send an error to the browser. In that regard, this is similar to the previous issue.

Something to noticed, however, is that this "timeout requests" setting is not enabled by default in CFMX 6.1, while it is enabled by default in CFMX 7. As such, this problem of timeouts will more likely happen in CFMX 7, though again either can be configured to support it. Just be aware.

You could also override this timeout setting in a given page by using the CFSETTING tag with its RequestTimeout attribute. (You can of course also affect an an entire application by placing that in the application.cfm.)

If breakpoints fail to fire as expected

If you have any other sort of problems with breakpoints firing, note that the FusionDebug folks have written a tech support article on the topic.

Tips and Traps on Setup

Beware of the impact of debugging on shared servers

Though you certainly can turn on debugging against a central shared server (such as test, staging, or even production), you should be aware of the potential impact.

As has been discussed before, when any user requests a page that's being debugged and their execution would hit a breakpoint, the page will appear to them to be hung until the debugging developer steps through the code to completion.

Beware of the impact of the JVM config changes

As discussed in the FusionDebug User Guide, in the section on setting up tool, one of the changes you make in the jvm.config file is to remove the UseParallelGC option. That change in the garbage collection process could have an impact on the running of the server.

This is one more reason to think twice about running the tool on production.

Understanding the "ports"

When you configure that jvm.config entry, another modification is to name the port that you want the JVM debugging feature to broadcast on. Of course, you want to point to a free port when you name that (you can use "telnet servername portnumber" at the command line to determine if a port is free).

But another point to note is that this port is NOT something you then use when you request pages, nor should it be specified as the value of your web server. Instead, this port number is then used when setting up the FusionDebug interface within Eclipse. All this is well explained in the User Guide.

Using FusionReactor? (Intergral's CF monitor tool)

If you are using FusionReactor, which is Intergral's CF monitoring tool, be sure to disable its "crash protection" feature, while doing debugging. The two features are not compatible.

Summary

Those are a few gotchas. I hope they help you. If you hit others, again, I recommend you check out the FusionDebug web site. They have the docs, faqs, articles, Captivate videos, and more. Most important, they offer free support at support@fusion-reactor.com.

I've just been in the "CF Hot Seat" on the ColdFusion Weekly Podcast. Come listen.

Note: This blog post is from 2006. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Here's fun news. This week I was the guest in the "CF Hot Seat" on the ColdFusion Weekly Podcast. It was a real treat, especially being the show's 25th ("anniversary") episode. As another treat, those who haven't listened to the show from the beginning will learn during the interview just who was the very first voice heard on the very first episode of the podcast. (If you can't wait, give a listen to the first show.)

In the interview, the focus is FusionDebug (yes, my topic of choice in recent weeks). It's a 30 minute interview, as we had planned. Matt and Pete were great, and I really enjoyed the opportunity. I certainly look forward to it again, and was tickled to hear them mention on the show (after the interview) that they'd be open to having me back in a couple of possible ways.

The interview takes place from about minute 26, though I recommend you listen to the entire podcast. I'm a huge fan of all the CF-focused podcasts, as I mentioned them on the show--and again, Mark Kruger, where's the "muse"?! :-) Anyway, I hope folks are listening to the various CF-based podcasts. I'll share some more thoughts about them and about listening to podcasts in general in a future note.

I have to point out that sadly, during my interview, there's a very unfortunate problem of a "hiccuping" sound that lasts for about 20 seconds on an interval of about every minute for a few minutes, a couple times during the show. I'm working with the guys to see if we can correct that, and I've even pulled in the able assistance of Bruce Williams, host of the "Building the Pod" show about Adobe Audition. He's not had any solution yet. If anyone else is open to the challenge, here's a small clip, and you can hear the problem after 10 seconds. I'd welcome any thoughts.

Of course, I also welcome feedback on the interview itself.

FusionDebug - Great news: discounted pricing and community edition announced today

Note: This blog post is from 2006. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Here's great news for FusionDebug fans--and those who've complained about the price. Check news of discounted pricing (starting at $239) and even a new community (non-commercial) edition at $99! Awesome news. The guys from Intergral are great at listening to customers! :-)

See the details at: http://www.fusion-reactor.com/fusiondebug/buy.html

Note that (according to the footnotes on the page) that the special pricing and community edition offer end on Oct 31. Get it while it's hot!

And to learn more about FusionDebug, see my previous entries on FusionDebug.

More Entries

Copyright ©2019 Charlie Arehart
Carehart Logo
BlogCFC was created by Raymond Camden. This blog is running version 5.005.
(Want to validate the html in this page?)

Managed Hosting Services provided by
Managed Dedicated Hosting