George Walter, Sirius Software

basiliskcanoeSoftware and s/w Development

Nov 2, 2013 (3 years and 11 months ago)

97 views

George Walter, Sirius Software


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…

5/1/2010

Sirius Software

5/1/2010

Sirius Software


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

5/1/2010

Sirius Software


sirius
-
software.com/
maint
/download/jdebugr.pdf


sirius
-
software.com/products/jdeb2.html


5/1/2010

Sirius Software


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

5/1/2010

Sirius Software


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.

5/1/2010

Sirius Software

Window
Menu:


Open
Windows


Close
Windows


Access
Windows

5/1/2010

Sirius Software


{
open|close
}
ExternalAuditTrailWindow


{
open|close
}
ExternalExecutionTraceWindow


{
open|close
}
ExternalWatchWindow


{
open|close
}
ExternalWebBufferWindow

5/1/2010

Sirius Software

5/1/2010

Sirius Software

5/1/2010

Sirius Software

5/1/2010

Sirius Software


selectAuditTab



selectSourceTab


selectWebBufferTab


selectExecutionTraceTab


selectProcSelectionTab



selectNextTab


5/1/2010

Sirius Software


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

5/1/2010

Sirius Software

5/1/2010

Sirius Software

<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" />


Value Display


View Text


Expand Object


These windows can remain open while you
do other things.

5/1/2010

Sirius Software


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

5/1/2010

Sirius Software

5/1/2010

Sirius Software


!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


5/1/2010

Sirius Software


! 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*


5/1/2010

Sirius Software

!debugger {exclude} {on }


{include} {off }


{proc
pspec

}


{routine
rspec
}

5/1/2010

Sirius Software


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

5/1/2010

Sirius Software

5/1/2010

Sirius Software

5/1/2010

Sirius Software


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…

5/1/2010

Sirius Software



5/1/2010

Sirius Software

<
stateFileFolder
>


path

</
stateFileFolder
>

<
uiFolder
>


path

</
uiFolder
>

<
macroLibraryFolder
>


path

</
macroLibraryFolder
>


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

5/1/2010

Sirius Software

5/1/2010

Sirius Software

5/1/2010

Sirius Software


At any point, answers “how did I
get here?”


Shows
calls/returns


Available via “Execution
-
>Get
History” and
getHistory

command

5/1/2010

Sirius Software

History
:

Sirius Software

5/1/2010

Color Coded Comments

Both comment styles are supported and
the color is
settable…

5/1/2010

Sirius Software

5/1/2010

Sirius Software


AutoRun

macros


MacroTrace

on/off


SetM204Data


New functions

5/1/2010

Sirius Software


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

5/1/2010

Sirius Software


Debug Macros


When on, commands are logged to the macro console;
The results of asserts also are logged.



5/1/2010

Sirius Software

>>>
macroTrace
:

step


>>>
macroTrace
:

assert

%
i

=

1


>>>passed...


>>>
macroTrace
:

run


>>>
macroTrace
:

step


>>>
macroTrace
:

assert

%
i

=

2


>>>passed...



Can set Model 204 variables in a macro:


setM204Data %xxx = 1111

setM204Data
g.next
=‘p.foo’

5/1/2010

Sirius Software


&&
assertFailureCount



number of failed
asserts in current macro


&&
assertSuccessCount



number of
successful asserts in current macro


&&
assertStatus



string indicating testing
status based on asserts:

5/1/2010

Sirius Software

macroTrace

on

>>>
macroTrace
:

echo

&&
assertStatus


Macro

message:

Assert

Summary:

Failed:

0,

Succeeded:

17




&&
procName



name of current proc


&&
searchSuccess



Boolean success result of last search


&&
searchResult



line number of last search, or
-
1



5/1/2010

Sirius Software


From a right click on a watched item


“Serialize” watched
XmlDocs
/
XmlNodes


Expand
ArrayLists

(like
stringLists

and
$lists)

5/1/2010

Sirius Software

5/1/2010

Sirius Software

5/1/2010

Sirius Software


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+)


5/1/2010

Sirius Software


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

5/1/2010

Sirius Software


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

5/1/2010

Sirius Software


Quick overview of Preferences


Command Display Screen

5/1/2010

Sirius Software

5/1/2010

Sirius Software

5/1/2010

Sirius Software


More syntax color coding


Reserved words


Variables


More improved Window management
(make using the tabs optional)


Dockable

windows

5/1/2010

Sirius Software