1 / 49

Debugger Update SUG, May 2010

Debugger Update SUG, May 2010. George Walter, Sirius Software. Focus of Talk. Present the last year’s Debugger development Review the year before last, since there was no SUG in 2009, and not everyone may have seen the Insight debugger presentation

declan
Download Presentation

Debugger Update SUG, May 2010

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Debugger UpdateSUG, May 2010 George Walter, Sirius Software

  2. Focus of Talk • Present the last year’s Debugger development • Review the year before last, since there was no SUG in 2009, and not everyone may have seen the Insight debugger presentation • Unless otherwise stated, the information pertains to both debuggers • Quick review of the User Interface… Sirius Software

  3. Sirius Software

  4. Get the latest client: • Build 50, released April 2010… • Full Client installer: http://sirius-software.com/debclient.zip • Client Exe only: http://sirius-software.com/debexeonly.zip • Documentation Files: http://sirius-software.com/debdoc.zip Sirius Software

  5. Documentation Online • sirius-software.com/maint/download/jdebugr.pdf • sirius-software.com/products/jdeb2.html Sirius Software

  6. Debugger Update (May 2010) • Better Window Management • Exclude “Uninteresting” Code • Better PC File Management • Record Viewing • Execution History • Color • Macros • Watch Expansion • More Items to Watch • Windows 7 • .NET Framework Sirius Software

  7. Better Window Management • For large/multiple monitors: in Build 50 (April 2010), the following may now be viewed in separate windows: • Audit Trail • Execution Trace • Watch Window • Web Buffer • These can be accessed via the Window menu and new open and close commands. Sirius Software

  8. Window Menu: Open Windows Close Windows Access Windows Sirius Software

  9. Open/Close Window Commands • {open|close}ExternalAuditTrailWindow • {open|close}ExternalExecutionTraceWindow • {open|close}ExternalWatchWindow • {open|close}ExternalWebBufferWindow Sirius Software

  10. External Audit Trail Window Sirius Software

  11. External Watch Window Sirius Software

  12. Sirius Software

  13. Tab Navigation Commands • selectAuditTab • selectSourceTab • selectWebBufferTab • selectExecutionTraceTab • selectProcSelectionTab • selectNextTab Sirius Software

  14. Tab Navigation Commands • Can be mapped to button or hotkey or used in a macro • Work with the corresponding external window • Mapped to a hotkey, these commands permit “no mouse” tab/window selection Sirius Software

  15. Mapping Example <mapping command="selectNextTab" key="n" keyModifier="ctrl" /> <mapping command="selectAuditTab" key="1" keyModifier="ctrl" /> <mapping command="selectSourceTab" key="2" keyModifier="ctrl" /> <mapping command="selectWebBufferTab" key="3" keyModifier="ctrl" /> <mapping command="selectExecutionTraceTab" key="4" keyModifier="ctrl" /> <mapping command="selectProcSelectionTab" key="5" keyModifier="ctrl" /> Sirius Software

  16. Less Window Modality • Value Display • View Text • Expand Object • These windows can remain open while you do other things. Sirius Software

  17. Exclude “Uninteresting” Code • With Build 47+ and 7.6+ Mods: • Exclude arbitrary chunks of code via “exclude on” and “exclude off’ • Exclude procedures by name/pattern • Exclude methods/routines by name/pattern • In excluded code, selected parts may be still be debugged using “Include” directives • Excluded code is NOT sent to the workstation Sirius Software

  18. Code Fragment with Excluded Lines Sirius Software

  19. !debugger Directives • !debugger exclude on/off can be used to bracket code to be excluded (not debugged) • !debugger include on/off can be used to include code for debugging in a block that is being excluded • !debugger exclude/include proc can be used to select included procedures for debugging exclusion or inclusion Sirius Software

  20. !debugger Directives • ! debugger exclude/include routine can be used to select methods/subroutines for debugging exclusion or inclusion • Trailing wildcards may be used in proc, subroutine and method names, e.g., p-init* Sirius Software

  21. Debugger Directive Syntax !debugger {exclude} {on } {include} {off } {proc pspec } {routine rspec} Sirius Software

  22. Alternative to the Directives • In the debugger client, you may create and maintain lists of excluded and included procedures and routines • With this method, NO code changes are needed Sirius Software

  23. Maintain Include and Exclude Lists from the “Proc Selection” tab… Sirius Software

  24. Sirius Software

  25. Better PC File Management • In Build 48+, you can control the location of: • State files such as logs and window position memory files • UI customization files (ui.xml) • Debugger macros (nnn.macro) • Set in debuggerConfig.xml… Sirius Software

  26. Better PC File Management <stateFileFolder> path </stateFileFolder> <uiFolder> path </uiFolder> <macroLibraryFolder> path </macroLibraryFolder> Sirius Software

  27. Record Viewing • Get a PAI display for the current record • With M204 Version 7.2, get a PAFGI display for the current field group • PAI/PAFGI available from the Data Display menu and as commands that can be mapped to buttons or hotkeys • Mods Version 7.6+ required Sirius Software

  28. PAI Sample (Data Display->PAI) Sirius Software

  29. PAFGI Sample (Data Display->PAFGI) Sirius Software

  30. Execution History • At any point, answers “how did I get here?” • Shows calls/returns • Available via “Execution->Get History” and getHistory command Sirius Software

  31. History: Sirius Software

  32. Color Coded Comments Both comment styles are supported and the color is settable… Sirius Software

  33. Sirius Software

  34. Macro Improvements • AutoRun macros • MacroTrace on/off • SetM204Data • New functions Sirius Software

  35. AutoRun Mode for Macros • If selected in Preferences… • When a proc is compiled, and • A debugger macro with the same name is found • The macro is run • This permits custom setup or testing macros to automatically be run for any given proc Sirius Software

  36. MacroTrace on/off • Debug Macros • When on, commands are logged to the macro console; The results of asserts also are logged. >>>macroTrace: step  >>>macroTrace: assert %i = 1 >>>passed... >>>macroTrace: run >>>macroTrace: step >>>macroTrace: assert %i = 2 >>>passed...   Sirius Software

  37. SetM204Data • Can set Model 204 variables in a macro: setM204Data %xxx = 1111 setM204Data g.next=‘p.foo’ Sirius Software

  38. New Macro Functions • &&assertFailureCount – number of failed asserts in current macro • &&assertSuccessCount – number of successful asserts in current macro • &&assertStatus– string indicating testing status based on asserts: macroTrace on>>>macroTrace: echo &&assertStatusMacro message: Assert Summary: Failed: 0, Succeeded: 17  Sirius Software

  39. New Macro Functions • &&procName name of current proc • &&searchSuccess Boolean success result of last search • &&searchResult line number of last search, or -1 Sirius Software

  40. Improved Watch Expansion • From a right click on a watched item • “Serialize” watched XmlDocs/XmlNodes • Expand ArrayLists (like stringLists and $lists) Sirius Software

  41. Sirius Software

  42. Serial View of XMLDoc Sirius Software

  43. Additional Items to Watch • Parameters (p.parameterName) • User buffer for LOB/MQ applications (u.buffer) • $STATUS/$STATUSD (Mods 7.6+) • $CURREC (Mods 7.6+) • $FIELDGROUPID (M204 7.2+) • $FIELDGROUPOCCURRENCE (M204 7.2+) Sirius Software

  44. Windows 7 Support • Build 50 or better required for proper client operation with Windows 7: • Problem with IE Proxy setting fixed • First build that had full QA cycle with Windows 7 Sirius Software

  45. .NET Runtime Upgrade • Next Release of the Debugger Client with be based on the .NET 3.5 runtime • Faster • Many fixes in the runtime • Better language and GUI features to exploit going forward Sirius Software

  46. Wrap UP • Quick overview of Preferences • Command Display Screen Sirius Software

  47. Sirius Software

  48. Sirius Software

  49. Coming Soon • More syntax color coding • Reserved words • Variables • More improved Window management (make using the tabs optional) • Dockable windows Sirius Software

More Related