3 Replies Latest reply on Jan 16, 2013 9:14 AM by charlie@carehart.org

    Getting breakpoints to work when debugging remotely

    Albert Bupp

      Greetings All,

       

      I am in the process of configuring a customer's QA CF system, and would like to get remote debugging to work.  Here are the details:

       

      • I followed the instructions for adding and associating a remote server w/ a given CF project. 
      • The server tab shows that the server's running and a remote type. 
      • I have confirmed that the CF server's been started on the remote host in debug mode, and is listening to the default port of 5005.
      • I have configured CF to allow RDS connections and line debugging
      • set breakpoints in my CF code

       

      However, when going into debug mode in CF Builder, the breakpoints never stop the processing, and the page is simply generated.

       

      In the coldfusion-out.log I see the following message:

       

      RDSRequest - DBG_REQUEST,1358274545142,<wddxPacket version='1.0'><header/><data><array length='1'><struct><var name='COMMAND'><string>SET_SCOPE_FILTER</string></var><var name='FILTER'><string></string></var></struct></array></data></wddxPacket>,admin,6634633c 21014253505301,

      RDSRequest - DBG_EVENTS,1358274545142,admin,6634633c21014253505301,

      RDSRequest - DBG_REQUEST,1358274545142,<wddxPacket version='1.0'><header/><data><array length='1'><struct><var name='BREAK_ON_EXCEPTION'><boolean value='true'/></var><var name='COMMAND'><string>SESSION_BREAK_ON_EXCEPTION</string></var></struct></array></data>< /wddxPacket>,admin,6634633c21014253505301,

      RDSRequest - DBG_REQUEST,1358274545142,<wddxPacket version='1.0'><header/><data><array length='1'><struct><var name='SEQ'><number>1.0</number></var><var name='FILE'><string>/opt/coldfusion/cfusion/wwwroot\test\index.cfm</string></var><var name='Y'><number>9.0</number></var><var name='COMMAND'><string>SET_BREAKPOINT</string></var></struct></array></data></wddxPacket> ,admin,6634633c21014253505301,

      RDSResponse -

      RDSResponse -

      Set BP at - /opt/coldfusion/cfusion/wwwroot\test\index.cfm:9, returnValue = -1

      RDSResponse -

      RDSRequest - DBG_REQUEST,1358274545142,<wddxPacket version='1.0'><header/><data><array length='1'><struct><var name='SEQ'><number>1.0</number></var><var name='FILE'><string>/opt/coldfusion/cfusion/wwwroot\test\index.cfm</string></var><var name='Y'><number>3.0</number></var><var name='COMMAND'><string>SET_BREAKPOINT</string></var></struct></array></data></wddxPacket> ,admin,6634633c21014253505301,

      Set BP at - /opt/coldfusion/cfusion/wwwroot\test\index.cfm:3, returnValue = -1

      RDSResponse -

       

       

      Looks to me that breakpoints are getting set, but for some reason the Builder's not stopping at them.

       

      Any ideas, anyone?

       

      CF 10 is running in Red Hat Linux

      CF Builder v2.0.1 is running on Windows 7

       

      Thanks in advance,

       

      -Albert

        • 1. Re: Getting breakpoints to work when debugging remotely
          charlie@carehart.org Adobe Community Professional & MVP

          Albert, the first thing I’d wonder is whether the builder config (if correct) is even being successful to connect to the remote server via RDS. If you visit (in your browser) your server’s /CFIDE/main/ide.cfm, what do you get? A 404 (not found)?   A 405 (method not allowed)? Or perhaps does the browser spin for a long time and then fail (likely then a firewall issue). It could be also that someone (in their zeal from the recent security vulnerability) just locked down all access to the /CFIDE directory on the server. That’s not necessary (it’s the /CFIDE/adminapi, /CFIDE/administrator, and /CFIDE/componentutils that should be locked down), but many go overboard, or just remove the directory entirely.

           

          Another simple test for you is, forgetting about the debugger, what do you see in CFBuilder in the RDS Dataview (use the Window>Show View menu command to see if if you don’t have it on screen.)

           

          Beyond that, I’ll point you to a presentation I did a couple of years ago, that focused on challenges in getting the debugger in CFBuilder working. It does work, but there are a lot of moving parts. Here’s a link to the preso, including a recording:

           

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

           

          Of course, I realize you may be pressed for time and not want to watch an hour-long recording.

           

          That said, it may be difficult to solve your problem here on the forums. For one thing, few reading this have likely gotten it working. Again, not that it can’t work, but you have to get everything right: from the server config, to the builder config, to the communication between the two, and more.

           

          And because I’m busy also helping people with the recent security issue (more at http://www.carehart.org/blog/client/index.cfm/2013/1/15/Part3_serious_security_threat), I may not be able to offer too much more time here in the forums in the next few days. I am trying to visit as I can.

           

          So if you really are pressed for time, it would be far faster (and likely more effective) to get someone to assist you directly, who has experience, looking “over your shoulder as it were” with you remotely at both your CF and CF Builder setup (such as using Adobe Connect, gotomeeting, webex, join.me, etc.), using diagnostic info as it became apparent during the session. And yep, this is in fact something I do offer as a service, myself: a low fixed-price solution to solve any one CF Builder problem, with satisfaction guaranteed or you don’t pay ($75). For more, see www.carehart.org/consulting.

           

          Apologies to any who may be ruffled by this “sales pitch”. If you look at my contributions here, you’ll see that I give plenty of help for free. It’s just that in this case I know from several years’ experience with the debuggers (both the CFBuilder debugger, and the one Adobe provided before that for Eclipse in CF8, and then FusionDebug which predates both and still has much to offer) that could prove fruitless to try to solve this challenge over email/the forum thread. (If the info above, or something from someone succeeds, that’s great.)

           

          Beyond that, Albert (or anyone else), if you want to dig in more on your own, I’ll note that I literally wrote the book on the topic--ok, it’s just a chapter in a book. I did the chapters in the CF8 and CF9 WACK books on using the debugger, and I do have some troubleshooting suggestions there as well. (Once you do get it working, I also share a lot of great tips on using it, which are not always obvious.) See www.carehart.org/articles to find the chapters, among other “articles” I’ve done. The CF9 version of the chapter is currently the first (latest) article listed on that page.

           

          Bottom line, the debugger does work, and there’s always some explanation (often more than one) for why it fails to “work”.  The challenge is finding the glitch, and it’s a lot easier to do by sight rather than feel.

           

          /charlie

          1 person found this helpful
          • 2. Re: Getting breakpoints to work when debugging remotely
            Albert Bupp Level 1

            Hello Charlie,

             

            I got the feature to work!  You were right in that I needed to properly configure CF Builder via RDS Data view.  Once I got that sorted, it's working more or less as I am used to from debugging java projects in Eclipse.

             

            Thank you for your lengthy and informative response, and I will be checking out your book chapters on the topic, as well.

             

            Best Regards,

             

            -Albert

            • 3. Re: Getting breakpoints to work when debugging remotely
              charlie@carehart.org Adobe Community Professional & MVP

              Great to hear that it helped. Just so many moving parts. Easy to get one wrong. Thanks for the update.

               

               

               

              /charlie