Debug suite for optimised compiled apps.

Discussion in 'Additional Libraries' started by agraham, Jun 17, 2009.

  1. agraham

    agraham Expert Licensed User

    Thanks to some features kindly incorporated by Erel into Basic4ppc version 6.80 I've now completed my debugging suite for optimised compiled applications. Up to now when an error occurred in an optimised compiled application there was no indication of the error line number. Now, using my DebugRecompiler utility, when an error occurs on either desktop or device the error line number can be established.

    But it's better than that! Up to now (apart from earlier version of my Debug library) there has been no real ability to debug applications on the device apart from adding Msgbox statements. Now when my DebugRecompiler is used with the latest version of my Debug library, included here, optimised compiled applications running on both desktop and device may be halted, single stepped, breakpointed and have their properties and variables inspected and changed and their methods and Subs invoked.

    The Debug archive includes an application, DebugDemoLegacy, that demonstrates the Debug library use with IDE or legacy compiled applications.

    The DebugRecompiler archive has an application, DebugRecompilerDemo, that demonstates debugging an optimised compiled app and also a tutorial to walk you through the first steps in using DebugRecompiler. This will only work on Basic4ppc version 6.80 or later.

    EDIT:- Version 1.7 of the Debug library now has a Watcher that works in the IDE and when legacy compiled on both device and desktop as well as when optimised compiled. See post #6 for details.
     

    Attached Files:

    Last edited: Aug 4, 2009
  2. Erel

    Erel Administrator Staff Member Licensed User

    Thanks agraham!
    Trying to debug a failing compiled program using message boxes can be very frustrating. Up until now this was the only choice in many cases.
    I'm sure that this library will be very helpful for many of us.
     
  3. Byak@

    Byak@ Active Member Licensed User

    great work Andrew!
     
  4. Louis

    Louis Active Member Licensed User

    Hi. If you need a copy of the output window just let me know. The DebugRecompiler.exe program cannot find any of the Basic4ppc CSharp files, and my installation is a standard installation, inside c:\program files\anywhere software\basic4ppc desktop. Should I try creating an .inf file and respecify this?
     
  5. agraham

    agraham Expert Licensed User

    I assume that you are receiving a "Basic4ppc installation not found!" error.

    This occurs if

    The file "Class1.c" is not found in one of these folders
    "C:\Program Files\Anywhere Software\Basic4ppc Desktop\Tzor"
    or
    "C:\Program Files (x86)\Anywhere Software\Basic4ppc Desktop\Tzor"
    and there is no "DebugRecompiler.inf" in the same folder as "DebugRecompiler.exe".

    OR

    If there is a file named "DebugRecompiler.inf" in the same folder as "DebugRecompiler.exe" with an incorrect path as its first line or if it is empty. The presence of "DebugRecompiler.inf" overrides the two default paths above even if its contents are invalid.

    I can see no other reasons that might cause this error message.
     
  6. agraham

    agraham Expert Licensed User

    There is presently little support for debugging in the device IDE apart from the Debugger and Tracer objects in my Debug library. I have extended the Watcher so that it now works in legacy compiled applications, and in the IDE, on both device and dekstop. As with optimised compiled applications you can read and write Global variables, including arrays, and can get and set control properties and run control methods.

    At the moment unfortunately, for technical reasons, making the Caller and Runner work in legacy environments is not possible.
     
  7. agraham

    agraham Expert Licensed User

    Last edited: Aug 12, 2009
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice