Line Debugging with Eclipse Kepler and CF8

閲覧: 480 回
最初の未読メッセージにスキップ

Sekani Tembo

未読、
2013/12/05 12:11:232013/12/05
To: cfeclip...@googlegroups.com
Has anyone had any luck getting line debugging to work using:

Eclipse J2EE Kepler
CFEclipse latest
Coldfusion 8:
    - on a remote server
    - server is using Apache
CF8 Adobe Eclipse Plugins

?

I've been trying for a few days to no avail.  If you've had any success please let me know. I've gotten to the point where I can show a successful RDS connection test within the preferences page, but attempting to use test debugger results in no response.  When attempting to Debug from Debug/CFEclipse perspectives, result is the following error:

!ENTRY org.eclipse.ui 4 0 2013-12-05 08:54:41.940
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.StringIndexOutOfBoundsException: String index out of range: -2
	at java.lang.String.substring(String.java:1937)
	at com.adobe.rds.client.core.services.debugger.DebuggerEventProcessor.getDebuggerPort(Unknown Source)
	at com.adobe.rds.client.core.services.debugger.DebuggerEventProcessor.getDebuggerPort(Unknown Source)
	at com.adobe.rds.client.core.services.debugger.DebuggerEventProcessor.getDebuggerPort(Unknown Source)
	at com.adobe.rds.client.core.services.debugger.DebuggerEventProcessor.getDebuggerPort(Unknown Source)
	at com.adobe.rds.client.eclipse.preferences.RDSServerEditor$15.widgetSelected(Unknown Source)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4166)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1489)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1474)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1279)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4012)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3651)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:826)
	at org.eclipse.jface.window.Window.open(Window.java:802)
	at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.open(WorkbenchPreferenceDialog.java:215)
	at org.eclipse.ui.internal.handlers.ShowPreferencePageHandler.execute(ShowPreferencePageHandler.java:58)
	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:290)
	at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:243)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:224)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
	at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:167)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:200)
	at org.eclipse.e4.ui.workbench.renderers.swt.cocoa.CocoaUIHandler.runCommand(CocoaUIHandler.java:716)
	at org.eclipse.e4.ui.workbench.renderers.swt.cocoa.CocoaUIHandler.access$6(CocoaUIHandler.java:704)
	at org.eclipse.e4.ui.workbench.renderers.swt.cocoa.CocoaUIHandler$8.widgetSelected(CocoaUIHandler.java:569)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4166)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1489)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1474)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1279)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4012)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3651)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:610)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1450)

Thanks for your time,

-- Sekani Tembo

Charlie Arehart

未読、
2013/12/05 12:46:242013/12/05
To: cfeclip...@googlegroups.com

Sekani, it’s not clear if the issue could be with Kepler. So to start, I’d be curious: had you done such debugging using an older version of Eclipse? If so, was it from the same dev box and to the same CF server? If so, then at least you’d know the issue might be specific to Kepler. Conversely, if it did not work from an older Eclipse, then you could suspect any of many things but ruling out Kepler.

With respect to that, I’ll note that I’ve written and presented much on troubleshooting the CF debugger (whether that provided in CFBuilder, or using Eclipse/CFEclipse and the old CF 8 extension). There are just so many things that can go wrong that it may be hard to pick through them here in email.  It may be better for you to review the possible challenges and let us know if anything is still unclear.

I share various specific things to watch out for, and requests you can make to test things, to help spot where things may be amiss among the many moving parts. (Good to see you confirm at least that you do have a successful RDS connection. That’s a key step.)

For more info, see either my talks (with both a recording and PDF of slides):

http://www.carehart.org/presentations/#cfb_debugger_setup

http://www.carehart.org/presentations/#cf8debug

Or if you prefer text, see my section on troubleshooting the debugger in my chapter on it in the CF9 WACK book, which chapter is available online via:

http://www.carehart.org/articles/#2010_2

And an older article that was a small subset of that info:

http://www.carehart.org/articles/#2008_4

But I (and I’m sure others) will be happy to help address any more specific questions you may have. I have no specific experience with Kepler to share but again it may be that the issue is NOT related to that. Let us know at least the answer to my first question above.


Hope that’s helpful.

/charlie

 

From: cfeclip...@googlegroups.com [mailto:cfeclip...@googlegroups.com] On Behalf Of Sekani Tembo
Sent: Thursday, December 05, 2013 12:11 PM
To: cfeclip...@googlegroups.com
Subject: [cfeclipse-users] Line Debugging with Eclipse Kepler and CF8

 

Has anyone had any luck getting line debugging to work using:

Eclipse J2EE Kepler
CFEclipse latest
Coldfusion 8:
    - on a remote server
    - server is using Apache
CF8 Adobe Eclipse Plugins

?

I've been trying for a few days to no avail.  If you've had any success please let me know. I've gotten to the point where I can show a successful RDS connection test within the preferences page, but attempting to use test debugger results in no response.  When attempting to Debug from Debug/CFEclipse perspectives, result is the following error:

!ENTRY org.eclipse.ui 4 0 2013-12-05 08:54:41.940
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.StringIndexOutOfBoundsException: String index out of range: -2
        at java.lang.String.substring(String.java:1937)
        at com.adobe.rds.client.core.services.debugger.DebuggerEventProcessor.getDebuggerPort(Unknown Source)
        at com.adobe.rds.client.core.services.debugger.DebuggerEventProcessor.getDebuggerPort(Unknown Source)
        at com.adobe.rds.client.core.services.debugger.DebuggerEventProcessor.getDebuggerPort(Unknown Source)

<snip>

Sekani Tembo

未読、
2013/12/05 13:02:292013/12/05
To: cfeclip...@googlegroups.com
Hey Charlie,

Thanks for your quick response. I'd actually seen your work already, but it's about the same as the info. in Adobe's cfdocs. I'm pretty familiar with step debugging, having developed with Java for 5+ years, but I've only been working with Coldfusion for a couple of months.  I haven't tried the known-working configuration that all of the online documentation is referencing (Eclipse 3.5/3.6, etc.). I'm assuming that configuration did work from all of the documentation on Adobe's site and various historical reports of success throughout forums. From what I'm understanding, it's likely one of a couple issues:

- mappings issue with server using Apache
- CF8 plugins issue with Kepler

Or, it's just something I'm completely missing. Anyway, I'll probably just go back to <cfdump>/<cfoutput> debugging unless someone knows of a solution.


Thanks for your time,

-- Sekani

Jim Priest

未読、
2013/12/05 13:25:082013/12/05
To: CFEclipse Users
The Adobe plugin was always iffy at best with CFEclipse.  I've gotten it to work before but that was a long time ago. 

Jim

Sekani Tembo

未読、
2013/12/05 13:41:472013/12/05
To: cfeclip...@googlegroups.com
Yeah I saw that other people had it working too with older versions of Eclipse. I'm liking Kepler, though, so I'm resistant to reverting.

-- Sekani

Charlie Arehart

未読、
2013/12/05 14:26:382013/12/05
To: cfeclip...@googlegroups.com

Sekani, honestly I really doubt that you will find most of what I wrote (especially the troubleshooting steps) in any CF docs. I’m intimately familiar with those docs, and wrote those resources over the years specifically because the docs were so VERY Spartan and did NOT cover much in the way of troubleshooting the process of setting up debugging. Are you saying you looked at all 4 resources I mentioned? Especially the segments focused on troubleshooting? If you may have only briefly scanned things, I hope you’ll reconsider.

Bottom line: the debugger does work, including the old Eclipse extensions. Many who found it “not to work” were (in nearly every case I saw) tripping over the kind of configuration challenges I discuss, whether in Eclipse, in the CF Admin, or the web server. I appreciate that many threw up their hands in frustration when they couldn’t get it to work, especially if on most resources they found only other people agreeing that “they couldn’t get it to work”.

And I appreciate that many decided that they could get along just fine with cfoutput/cfdump. But as I discuss in those resources, there are many times when that CANNOT suffice, such as within CFCs where you’ve turned on output=false, or in situations where there is no output to the browser (like onsessionend in application.cfc), to name just a couple.  More than that, as you will know from doing other step debugging, many who get it working are amazed at the powerful access to such things as all variables in all scopes, the stack (how you got to where you are), stepping into and out of other called templates/CFCs/custom tags, etc.

So yes, I am a big fan of the debugger, and do go overboard when I see folks saying they’re having trouble getting it working, and want to point them to resources that may help. I even offer a specific form of consulting to help troubleshoot such problems (if you guys will forgive the brief sales pitch), of a fixed price of $75 for up to 2 hours to solve any single CFBuilder (or CF-related Eclipse) problem, and if I don’t solve it after 2 hours, you don’t pay. For more info, see the consulting page at carehart.org.

But if you have reached the end of your patience (or appreciate of the value) in trying to get the debugger working, I’ll happily let things go. Still, I leave all that info for others to consider. :-)

Sekani Tembo

未読、
2013/12/05 17:00:532013/12/05
To: cfeclip...@googlegroups.com
Hey Charlie,

Perhaps CF docs was the wrong thing to say if I've offended you somehow. Coldfusion documentation/Adobe community forums/google search of adobe domain for multiple line debugging/RDS/eclipse/coldfusion/etc. search term combinations yielded just about everything I've seen thus far in your pieces. Yes, I'm saying I looked at all four, unless your headings have nothing to do with the content of your sections because I looked at all relevant sections according to their headings. The first two of your resources are powerpoints or notes, which have very little to do with configuration/troubleshooting of line debugging within Eclipse in an environment using a remote Apache web server (Both of which I'd already seen from searching). The long pdf is 3/4 unrelated subject matter on general debugging or other CF functionality or the debugger once you have it running properly (also found through searching).

As far as troubleshooting, I saw 5 bullet points on what happens when it's not working. I saw six points in your other document (most of which were the same), which referenced a lot of the other resources I found on my searches (hadn't found your shorter pdf yet, but contains most of the info. the other chapter had, as you mentioned). Don't get me wrong, they're very well written and I appreciate that you've probably spent copious amounts of time in the cfdocs and troubleshooting line debugging issues.

I can describe why those documents won't help me with the issues I've run into in a more granular fashion, if you'd like.

Maybe you're right about the configuration issues, thus my mentioning "mappings issue with server using Apache" in my post. If you can point to where in your documents you wrote about that error I was receiving, or anything concretely helpful besides plugging your consulting business and saying it's probably a configuration issue (go figure), I'd be more than happy to be impressed with the power of the debugger. I love line debugging, which is why I've spent the better part of my work week trying to get it to work with CF, but frankly, I'm not exactly a noob when it comes to programming, and I've had better luck with experimental code and languages than I have with getting CF line debugging setup.

I'm not denying that through paying someone money or spending a few more weeks troubleshooting it myself that it might be possible to get it to work. I'm saying for a feature that should be (in my opinion) well documented and supported, I'm pretty disappointed with this facet of CF. So far, my best workflow with CF has been Sublime/FF for development, which is pretty sad, again, IMO. If CF wants to be competitive in the future, frequent updating of compatibility with open source IDEs/tools and interoperability between configurations should be a priority (again, just my opinion). If I wasn't a relatively new hire in this org. and I had money to throw around, I'd be more than happy to hire you and have you iron out these kinks for me (then again, I probably wouldn't be using CF, either). But, unfortunately, neither of those are true and you don't seem to be interested in helping a brother out without some recompense, so good luck with your consulting business and once again...


Thanks for your time,

-- Sekani

Jim Priest

未読、
2013/12/05 17:24:062013/12/05
To: CFEclipse Users
Have you looked at CFBuilder?  


You mentioned Sublime.  If you are fan of Intellij there is also a CFML plugin available for that.  No debugging but...

Jim

Sekani Tembo

未読、
2013/12/09 12:09:542013/12/09
To: cfeclip...@googlegroups.com
I downloaded the CFBuilder trial and attempted to get line debugging to work there. When I click on 'Test Debugger' in the preferences pane from CFBuilder, rather than getting no response like in Eclipse, I get:

Test debugger failed.
An RDS connection was established but the Coldfusion RDS line debugger could not be contacted. The server gave the following message:
-1:Could not initialize class coldfusion.log.CFLogs

So, I'm assuming since I got the connection successful message in preferences, that it's just my configuration (specifically, I think it's the debug mappings).

Thanks for the tips, but I think I've sunk enough time into IDE issues. I'll have to get back to coding.

-- Sekani

Hirons, Budd A

未読、
2013/12/10 7:47:132013/12/10
To: <cfeclipse-users@googlegroups.com>
Sekani,

The last time everything just worked for us on the cf8 debugger plugins was in Galileo.  Those same plugins worked in Helios, but the other pieces like RDS browsing failed left and right.  Charlie is right-- it is a config hassle.  But since you are running cf8 it may still finally work for you yet.

have read that it is also possible to use the free edition of cfbuilder for local debugging but have not tried it myself. Don't get me wrong-- I prefer cfeclipse, so for line debugging we bit the bullet and purchased fusion debug.  It works well on new eclipse versions against cf9/10.

Here is a pretty good walk through for cf8:

If fusion debug is not an option because of price then maybe this thread will be helpful if you upgrade:

Budd.

/Budd Hirons Jr
/Tulane University
/sent from mobile device
--
--
For more information on CFEclipse visit: cfeclipse.org
For support, FAQ and tips and tricks visit: https://github.com/cfeclipse/cfeclipse/wiki
 
You are subscribed to the Google Groups "CFEclipse Users" group.
To post send email to: cfeclip...@googlegroups.com
To unsubscribe send email to: cfeclipse-use...@googlegroups.com
For more options, visit this group online: http://groups.google.com/group/cfeclipse-users?hl=en
 
---
You received this message because you are subscribed to the Google Groups "CFEclipse Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cfeclipse-use...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
全員に返信
投稿者に返信
転送
新着メール 0 件