Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ColdFusion 9 line debugger for eclipse

I see several references within Adobe's documentation regarding the line debugger. Look here, for example:

Set up ColdFusion to use the Debugger

I see mention of various Eclipse-related settings that I need to make. For example (from above):

You can determine whether the Debugger server is configured correctly in Eclipse by selecting Window > Preferences > ColdFusion > RDS Configuration, and then clicking Test Debugger.

However, I see no mention of what I have to do to configure my eclipse installation to get this functionality. I assume there is an eclipse plugin I need to install. I'm hoping that they are not actually talking about CFBuilder when they simply say "eclipse". I should point out that I'm using vanilla eclipse with the cfeclipse plugin (not CFBuilder).

From the CFEclipse site, I see this:

Debugging

Adobe released the ColdFusion 8 Extensions for Eclipse which included a step debugger and RDS tools. This is no longer supported by Adobe but still works in the latest CFEclipse versions. FusionDebug is a commercial step debugger available from Integral.

Can this really be true that Adobe released a free debugging extension for CF8 and eclipse, but then broke it when they went to CF9 (and offered no free alternative)? Is there really no free way to do line debugging in CF9?

Assuming that is the case.... is there a free option for line debugging Railo? How about CF 10?

like image 339
Jake Feasel Avatar asked Jan 17 '23 08:01

Jake Feasel


1 Answers

Using the same instructions available for CFEclipse and CF8, I was able to get the debugger working using CF9 and Eclipse 4.2 (Juno) with the CFEclipse pluggin. After much searching, I found the RDS configuration entries live in Window->Preferences->Adobe->RDS Configuration menu option. How I configured it:

You have to make sure the port that the RDS Debug server starts in is open: I am using Windows Server 2008, and basically openned the port which I added the JVM Arguments settings in ColdFusion administrator (Otherwise Coldfusion fires it up using some randomly selected port and it could be closed which will mean it WILL NOT accept incoming requests) Here is the syntax:

-server -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -DDEBUGGER_SERVER_PORT=49208

You will have to restart Coldfusion as this is used by the JVM at startup.

In RDS Configuration I used the host name and port number of the App Server, not the Debug Server's port itself. So in my case I am running IIS which listens on port 80 so that is the host name and port number that I used.

Now the litmus test is if you can successfully connect, then test the debugger. If not, don't bother trying to debug an application. On a related note, I am having some issues with breakpoints, not being hit at times, so I am still concerned about it as a production solution, but I may be doing something wrong as well.

I have ofcourse condensed this, but the point is that it appears to be achievable. I am new to Coldfusion so I don't know much about the options but just wanted to point out some of the configurations that once I resolved them, was able to achieve line-by-line debugging.

like image 91
Richard Avatar answered Jan 25 '23 19:01

Richard