ibm i debugger

37
1 IBM i Debugger

Upload: others

Post on 16-Nov-2021

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IBM i Debugger

1

IBM i Debugger

Page 2: IBM i Debugger

2

IBM i Debugger

Overview

Service Entry Points

Debugger Functions

Attach to an IBM i Job

Launch Configurations and Settings

Page 3: IBM i Debugger

3

Integrated Debugger - Overview

RPG, COBOL, CL, C, and C++

IBM i - ILE and non ILE, incl. free-form RPG

DB2 and SQL stored procedures

Source and Listing view

Batch, interactive, and Multi-Threaded Applications

Client/Server Applications

Distributed Applications

Page 4: IBM i Debugger

4

Debugger Functions - Overview

Manage program execution

– Step/Run commands

– Multiple breakpoint types

Work with content of variables

– Display

– Modify

Work with content of memory

– Display

– Modify for teraspace enabled programs

Page 5: IBM i Debugger

5

Start/Stop Debug Server

- From RSE, right click a subsystem (Objects, Commands, Jobs, or IFS Files).

- Select Remote Servers > Debug > Start to start and Stop to stop.

- Or, from 5250 session, issue command STRDBGSVR to start and ENDDBGSVR to stop.

- Once per i system

- Default port 3825

- WRKSRVTBLE add or change the entry QDBGSVR2

Page 6: IBM i Debugger

6

Where does the Application run?

Debug As…

Batch Submitted to batch

Interactive 5250 emulation, STRRSESVR

Multi-threaded Creates BCI job

Job Specified job

Page 7: IBM i Debugger

7

Debug Perspective

Notebook with views for

Breakpoints, Variables,

ProgramsDebug view

Editor – LPEX or Debug Editor

Outline view

Page 8: IBM i Debugger

8

Debug perspective

Collection of editor and views

Users can customize the

perspective

Views can be re-sized and re-

positioned through drag and drop

Views can be closed

Views can be added

Use Save Perspective As… to save

customized perspective

Page 9: IBM i Debugger

9

Secure connection for debug session

If you use SSL support for a

RSE connection, the

communication between debug

client and debug server will be

through SSH tunnel.

This feature is only available on

OS400 V6R1 and later version.

Page 10: IBM i Debugger

10

IBM i Debugger

Overview

Service Entry Points

Debugger Functions

Attach to an IBM i Job

Launch Configurations and Settings

Page 11: IBM i Debugger

11

Service Entry Points

Service Entry Points for ILE on V5R2 or later

– You know the program you want to debug but the program gets started in a server environment

– You know the userid the program will be running under

– You don’t know the job name where the program will be running

Page 12: IBM i Debugger

12

Service Entry Points (continued)

Great for:

– WebFaced applications

– Web applications

– Toolbox calls

– Any ILE program you want to debug

Page 13: IBM i Debugger

13

Setting Service Entry Points

From the Remote System Explorer

– In the Remote Systems view, select the program, service program,

module, or procedure

– In the pop-up menu, select Debug (Service Entry) > Set Service Entry

Point

– Run the application from anywhere, except RSE server job

From the Service Entry Points view

– In the pop-up menu, select Set, or press the toolbar button

– Fill in the Set Service Entry Point dialog

– Run the application from anywhere

Page 14: IBM i Debugger

14

Service Entry Points view

Service Entry Points view is automatically displayed when Service Entry Point set.

Otherwise display from

Window > Show view > Other > IBM i > IBM i Service Entry Points

List of all Service Entry Points set from the RSE

Pop-up menu to work with Service Entry Points

– Set, Modify, Refresh, Remove, Enable/Disable

Pull down menu to Clear all or selected Service Entry Points

Page 15: IBM i Debugger

15

Service Entry Points -Refresh

Service entry points not valid after program is recompiled.

Use Refresh in IBM i Service Entry Points view to re-set the

service entry points.

Page 16: IBM i Debugger

16

Service Entry Points - Modify

When Service Entry Point is

set, its user profile property

(user whose job is going to hit

the Service Entry Point) is set

to the user ID used to logon to

RSE connection.

If you want to debug a job

running under user profile

other than this RSE logon ID,

you can modify the SEP to set

to the proper user profile.

Page 17: IBM i Debugger

17

IBM i Debugger

Overview

Service Entry Points

Debugger Functions

Attach to an IBM i Job

Launch Configurations and Settings

Page 18: IBM i Debugger

18

Debug Perspective

Add Properties:

Window ->

Show View ->

Other ->

General

Resume, Suspend, Terminate, Step Into,

Step Over, Step Return

Variables

Breakpoints

Monitored variables

Programs under debug

Current

Line

Call

Stack

Break

Point Outline

Page 19: IBM i Debugger

19

Program Execution

Step Into

– Debug the next call level

Step Over

– Run the next call level and stop at the next statement

Step Return (for ILE on V5R3 or higher)

– Run until you are back in the previous call level and stop at the next statement

Resume

– Run until an event is encountered

Run To Location

– Run and stop at the current cursor position or until an event is encountered

Suspend

– Halt program at point of execution

Terminate

– End the debug session

Page 20: IBM i Debugger

20

Setting Breakpoints

Ways to set a Line Breakpoint:

Double click in prefix area

In prefix area, select Add/Remove Breakpoint from pop-up menu

In Editor, select Add/Remove Breakpoint from pop-up menu

In Breakpoints view, select Add Breakpoint > Line from pop-up menu.

Editor breakpoints in bound service programs

Ways to set a Watch Breakpoint:

Double click variable and

In Editor, select Add Watch Breakpoint from pop-up menu

In Breakpoints view, select Add Breakpoint > Watch from pop-up

menu.

Page 21: IBM i Debugger

21

Conditional Line Breakpoint

Set Frequency

Value to start

Value to stop

Breaks to skip

Set Expression

Conditions must be true

for break to happen

Page 22: IBM i Debugger

22

Watch Breakpoint

Number of bytes

to watch set to 0 for

defined length of variable

Maximum length 128

Maximum of 256 watches

per system

Variable spanning a page

break uses 2 watches

Watches disabled when

restored

Page 23: IBM i Debugger

23

Monitors View

To monitor selected variablesindependent of their scope:1. Double click variable2. Right-click3. Monitor Expression4. Variable listed in Monitors

view

Page 24: IBM i Debugger

24

Monitor Expression Dialog

1. Select variable2. Click plus sign for dialog3. Variable pre-filled4. Can add dimension

•Data in Monitor view updated at each stop

•Changed data marked in red with triangle icon

•Double click on entry to open for edit, modify

value and press Enter

Page 25: IBM i Debugger

25

Variables view In V5R3 or later, local variables support is available for ILE RPG and ILE COBOL, for C

and C++ also in earlier releases.

Variables view automatically displays all variables of current scope.

Page 26: IBM i Debugger

26

Display Memory Content

• Memory displayed starting with

address of selected variable

• Edit for teraspace enabled

pgms

1. Select variable to display in

Memory view

2. Select Monitor Memory > Hex

and Character

Press Toggle Split

Pane to display hex

and char

Page 27: IBM i Debugger

27

Programs view

Click plus to add a

Program or

Service Program

Expand program

entry and double

click to display

source

Pop-up menu to

remove programs

from debug

Page 28: IBM i Debugger

28

IBM i Debugger

Overview

Service Entry Points

Debugger Functions

Attach to an IBM i Job

Launch Configurations and Settings

Page 29: IBM i Debugger

29

Attach to an IBM i Job

Interactive debugging requires 5250 session and

STRRSESVR command

Job subsystem

Page 30: IBM i Debugger

30

Attach to an IBM i Job

You can add program to debug

here.

Page 31: IBM i Debugger

31

Attach to an IBM i Job

Click Step or Resume button, and then switch to emulation to start your application.

Note: Terminating the debug session does not terminate the interactive program

Page 32: IBM i Debugger

32

IBM i Debugger

Overview

Service Entry Points

Debugger Functions

Debugging interactive Applications

Launch Configurations and Settings

Page 33: IBM i Debugger

33

Launch Configuration – How to Start

Command to start

application required for

service programs

How to invoke your application

Default: Call (selected program)

Batch: SBMJOB (selected program)

Page 34: IBM i Debugger

34

Source Locator Scenario

Debug source locator

PGM A

object

Debug

Development system

PGM A

source

Production system

Page 35: IBM i Debugger

35

Launch Configuration – source location

If source remains in the original library (compilation time),

debugger will find it

If source member has been moved since compile occurred,

use source locator (next slide)

Moved to a different library

Resides on a different system, RTC for Power, etc

If IFS source is moved, use Remote Folder source locator.

Moved to a different folder

Resides on a different IBM i

Source locator can be specified from Source tab of launch

configuration

Page 36: IBM i Debugger

36

Launch Configuration – Source tab

1. Click Add button

2. Select IBM i Source

File or Remote Folder

3. Select connection

4. Specify library if not in

library list

5. Select source physical

file

6. File is added to list in

Source Lookup Path

Page 37: IBM i Debugger

37

Debug Preferences

• Update production files

• Prompt when SEP is set

• Prompt when SEP is hit

• Include bound srvpgms

and exclude libraries

default: not checked