z/TPF - Group home

A pile of practical PUT 11 z/TPF debugger enhancements

  

After loading PUT 11 to your favorite TPF test system, you may notice some new behaviors in the Variables view and the Remote System Explorer(RSE) in TPF Toolkit. For PUT 11, I delivered four enhancements to the z/TPF debugger that I hope improve your debugging experience.

Active USING statements are displayed in the Variables view

When debugging assembler code, any active USING statements will be listed in the Variables view and will allow easier access to the content of the labeled DSECT. The debug information for the active module is queried for a list of all DSECTs defined within the module. Each DSECT entry in the debug information contains the address ranges in which the DSECT is active. It is then just a matter of determining whether or not the currently active instruction falls within any of those ranges. If the DSECT is active, it is added to the list of symbols to be evaluated. For any DSECT that should not be evaluated, an exclusion list is available in segment cdbxdf.c.

Enhanced masking process for register expressions in 31-bit addressing mode

This is another enhancement for debugging assembler code. If the code being debugged is in 31-bit addressing mode, registers holding values are evaluated in both a 64-bit representation and a 32-bit representation. Registers holding addresses are only evaluated in a 32-bit representation. The solution that the team decided to implement was to add symbols in the common symbol table (UCST) that equate each of the general register symbols and then masking them and including them in the symbol list during expression evaluation under the provided circumstances.

Pending cancel state for registration entries

Imagine that you've registered a very common function to debug and did not specify a unique workstation name or IP address in the registration entry. Every time your neighbors kick off a test, you get a debug session popping up on your screen. Pending cancel state to the rescue! While the debug session is active, switch to the Remote System Explorer (RSE) and cancel the offending registration entry by right clicking and selecting “Cancel Registration”. The entry will be changed into pending cancel state. In this state, the current debug session will still be active, however, on completion the registration entry will no longer be able to start any new debug sessions. The registration entry is then cleaned up the next time the debug server receives a request from the Toolkit.

Highlighting registered debug sessions

Have you ever created a new debug session in the Toolkit and then tried to kick off the debug and nothing happens because you forgot to register the session with the debug server? With this enhancement loaded, the Toolkit will highlight debug sessions, code coverage sessions and performance analyzer sessions that are currently registered on your TPF test system. If you modify a session, you will be notified that you should re-register the session. By default, this support is disabled in TPF Toolkit. To enable session highlighting, open Window->Preferences->Run/Debug->TPF Debug Server and select “Enable TPF registration entry monitor”.

Please note: TPF Toolkit 4.2+ is required to take advantage of the TPF registration entry monitor.