Difference between revisions of "VMS IDE Python"
(Created page with "== Python == Python debugger is in experimental state. Works fine only for Python 2.7 = Features = # Run python script on VMS side # Breakpoints # Displaying local variable...") |
m |
||
(16 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
== Python == | == Python == | ||
− | Python debugger | + | Python debugger allows debugging Python scripts on VMS. |
= Features = | = Features = | ||
− | # | + | # Running python script on VMS side |
# Breakpoints | # Breakpoints | ||
# Displaying local variables in each accessible frame | # Displaying local variables in each accessible frame | ||
Line 10: | Line 10: | ||
# Post-mortem information about unhandled exceptions. | # Post-mortem information about unhandled exceptions. | ||
# Changing variable value | # Changing variable value | ||
− | # Jump to cursor inside a frame | + | # Jump to cursor inside a frame |
= How to run = | = How to run = | ||
# Setup SSH settings | # Setup SSH settings | ||
− | # Setup project settings: | + | # 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. |
# Setup launch: open launch.json, then "Add configuration" => "VMS IDE: Launch Python script". | # Setup launch: open launch.json, then "Add configuration" => "VMS IDE: Launch Python script". | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! | + | ! Property !! Meaning |
|- | |- | ||
− | | "type": "vms python debugger" || | + | | "type": "vms python debugger" || do not change |
|- | |- | ||
− | | "request": "launch"|| | + | | "request": "launch"|| do not change |
|- | |- | ||
− | | "name": "Launch Python Script" || | + | | "name": "Launch Python Script" || write an unique name |
|- | |- | ||
| "script": "${file}" || file name or "${file}" for currently opened file under cursor | | "script": "${file}" || file name or "${file}" for currently opened file under cursor | ||
|- | |- | ||
− | | "port": "55005-55025" || range of local ports on VMS | + | | "port": "55005-55025" || range of local ports on VMS, used for communication between tracer and server scripts |
|- | |- | ||
| "arguments": "" || script arguments | | "arguments": "" || script arguments | ||
+ | |- | ||
+ | | "pre_launch": "", || VMS command to execute before python (from project root folder) | ||
+ | |- | ||
+ | | "python_args": "", || Python arguments | ||
|} | |} | ||
− | Select this launch and press F5. Script always stops at the first line. | + | Select this launch configuration and press F5. Script always stops at the first line. |
+ | |||
+ | = Debugging = | ||
+ | |||
+ | To show debugger commands type 'h' in debugger console. | ||
+ | |||
+ | 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<br> | ||
+ | ''VMS_PATH_in_UNIX_FORMAT'' : ''LOCAL_PATH_as_C_STRING''<br> | ||
+ | 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. | ||
− | [[Category:VMS IDE]] | + | To change the radix for the variables view, use the 'x #' command in debugger console, where # is 8, 10, or 16 |
+ | [[Category:VMS IDE]] [[Category:VMS Python]] |
Latest revision as of 07:53, 1 July 2021
Contents
Python
Python debugger allows debugging Python scripts on VMS.
Features
- Running python script on VMS side
- Breakpoints
- Displaying local variables in each accessible frame
- Multithreading
- Post-mortem information about unhandled exceptions.
- Changing variable value
- Jump to cursor inside a frame
How to run
- Setup SSH settings
- 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.
- 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 |
"pre_launch": "", | VMS command to execute before python (from project root folder) |
"python_args": "", | Python arguments |
Select this launch configuration and press F5. Script always stops at the first line.
Debugging
To show debugger commands type 'h' in debugger console.
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.
To change the radix for the variables view, use the 'x #' command in debugger console, where # is 8, 10, or 16