Difference between revisions of "VMS IDE Python"

From VSI OpenVMS Wiki
Jump to: navigation, search
(Debugging)
Line 38: Line 38:
 
= Debugging =
 
= Debugging =
  
Not all files are traced by default. Only local files. To enable tracing non-local files do edit extension setting Vms_python_debug: Roots and add pairs of values VMS_PATH_in_UNIX_FORMAT : LOCAL_PATH_as_C_STRING
+
Not all files are traced by default. Only local files. To enable tracing non-local files do edit extension setting '''Vms_python_debug: Roots''' and add pairs of values VMS_PATH_in_UNIX_FORMAT : LOCAL_PATH_as_C_STRING
 
The file will be traced if:
 
The file will be traced if:
 
* It is local
 
* It is local

Revision as of 09:15, 29 May 2020

Python

Python debugger allows debugging Python scripts on VMS.

Features

  1. Running python script on VMS side
  2. Breakpoints
  3. Displaying local variables in each accessible frame
  4. Multithreading
  5. Post-mortem information about unhandled exceptions.
  6. Changing variable value
  7. Jump to cursor inside a frame

How to run

  1. Setup SSH settings
  2. Setup project settings: because Python scripts do not need compilation, not all settings are required. Only those which are required for synchronization. So "outdir", "root" and include/exclude masks do matter. Outdir is used only for holding debugger own scripts (tracer and server). Masks used only for synchronization. There is no difference between whether it is a source, headers e.t.c.
  3. Setup launch: open launch.json, then "Add configuration" => "VMS IDE: Launch Python script".
Property Meaning
"type": "vms python debugger" do not change
"request": "launch" do not change
"name": "Launch Python Script" write an unique name
"script": "${file}" file name or "${file}" for currently opened file under cursor
"port": "55005-55025" range of local ports on VMS, used for communication between tracer and server scripts
"arguments": "" script arguments

Select this launch configuration and press F5. Script always stops at the first line.

Debugging

Not all files are traced by default. Only local files. To enable tracing non-local files do edit extension setting Vms_python_debug: Roots and add pairs of values VMS_PATH_in_UNIX_FORMAT : LOCAL_PATH_as_C_STRING The file will be traced if:

  • It is local
  • It has a break point
  • It is in VMS folder, selected by command 'y path' where path is VMS path in UNIX format (command 'y' with empty path clears current path)
  • Debugger is in developer mode, switched by command 'm 1' (to switch back use 'm 0') or defined in settings.