ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ MrDebug for CA-Clipper. Feature List ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ This document is a brief overview of some of the features that can be found in MrDebug, the premiere debugger for CA-Clipper 5.2d. MrDebug has been designed by programmers, for programmers to save you time, effort and energy and thus should reduce the amount of time that you spend debugging your programs. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÍÍ Features of MrDebug ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÄÄ Colour syntax highlighting of the source code ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This makes the source code easier to read and therefore quicker to find things within your source code. This allows you to easily tell the difference between keywords, operators, strings, numerics, # directives and comments. ÄÄ Protected Mode compatible ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ MrDebug has been designed to work in protected mode so there should be no compatibility problems with Blinker, Exospace or Causeway. So you know that no matter how big your application is MrDebug will be there for you. ÄÄ Real mode support ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Over 90% of MrDebug can be overlaid with Blinker. For .RTLink users we have an entertaining link script. ÄÄ Timing runs ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Each run or step of your code can be timed to provide you with an accurate reflection of how long your code will take to run. ÄÄ Pass Points ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Allow you to mark a line of source code and have an counter incremented each time that the marked line of code is executed. ÄÄ Enhanced Break/Trace/Watch points ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The ability to select and mark source code as a Trace or Watch point. This even allows you to mark an expression as a trace or watch point. ÄÄ Mouse support ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ If for no other reason than to allow you to easily re-size and move windows, but you can also mark expressions for use as trace points or watch points. ÄÄ Short-Cut keys ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ MrDebug has short-cut, keystrokes for most of the operations that you may choose to use. ÄÄ ALTD() function enhancements ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ALTD() has been modified so that the following apply: ALTD(0) - disables an keystroke ALTD(1) - enables an keystroke ALTD(2) - Animate the program ALTD(3) - halt animation and run the program ALTD(4) - start speed mode ALTD(5) - halt speed mode ALTD(6) - bring up the workarea screen ALTD(7) - start profiling ALTD(8) - stop profiling And we even allow you to disable one or all ALTD() functions within your source code. ÄÄ Enhanced Object Browser ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The object browser has been enhanced to allow you to view CA-Clipper or Class(y) objects. It includes a class hierarchy structure that will allow you to see easily which classes inherit from others. ÄÄ Real screen usage ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ MrDebug takes advantage of the text mode that you are running in. If your video card supports text modes greater than 80 columns x 25 row, for example 132 columns by 60 rows, then you will have plenty of space for your debugging tools with a real output window for your application of 80 columns x 25 rows - no screen swap, no constant flicking between the debugger and the application window. ÄÄ Enhanced Database browser ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ More like DBU than CLD. Includes support for the SIX drivers and Comix. ÄÄ Program Dump File ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ MrDebug can automatically create a Dump file when your program crashes detailing information about the status of the program when the crash occurred, including variables, system error, workareas, screen shot and the call stack. ÄÄ Symbol Table Lists ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This gives you the ability to view and search through the symbol list(s) to work out just what exactly has been linked in, and hence left out, of your program. ÄÄ Function List ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This give you the ability to list all of the functions within the current source code file and go directly to it. Saves paging down until you find the function that you are looking for. ÄÄ Tracked Variables ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Allows you to watch or trace particular instances of the same variable through different levels of the callstack within your application. ÄÄ System Error Window ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ This allows you to capture and examine the error object when the program falls over. ÄÄ More Run modes ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Run modes have been added for: To Next Function - halts execution of the first line of the next function called. To End of Function - halts execution at the end of the current function. Out of Codeblock - if you are in a codeblock, runs to the lie after the codeblock. To Codeblock - runs the program to the next codeblock and halts. ÄÄ Workarea status window ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ A real window for workarea information, such as the current index key, expression, the record structures, contents etc. No more F6 , F8, F6, F8 etc. ÄÄ A real expression evaluator ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The expression evaluator within the command window has been re-written to allow you to express more complex expressions, such as expressions that involve objects, A simple example: oBrowse:Getcolumn(1):heading work in MrDebug's command window. You could even do something like: oBrowse:Getcolumn(2):Cargo := oBrowse:Getcolumn(2):heading try that with any other CA-Clipper debugger! ÄÄ Profiler ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ MrDebug has a profiler built into the debugger so that you can see the slowest and fastest parts of your program and perhaps re-arrange your link script or your source code. You can even see which lines of code have not been executed. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ MrDebug is available from: ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Adress: Tel.:+49-40-7661290 ³ ³ SOFTSOL GmbH Fax :+49-40-7665664 ³ ³ Neue Str.35a BBS :+49-40-7665527 ³ ³ 21073 Hamburg CIS : 100112,3401 ³ ³ Germany Fido: 2:240/5300 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ