=================== Debugging Workflows =================== Workflows include a Python debugger where you can set breakpoints and run them through the Artificial UI. In your branch, under the :file:`.vscode` folder, you can see how debug tests are configured in the :file:`launch.json` file. In this file, there are three configurations: Python: Run Adapter This is for launching your adapter and is configured to launch a specific file. With the current adapter setup, this will not need to be updated. Debug Unit Test This is used when debugging one or more unit tests. Launch Workflow This creates and starts a new job for the workflow of interest. You can specify the request module parameter values with ``jobArgs``: .. code-block:: json "name": "Launch Workflow", "type": "artificial-workflow", "request": "launch", "program": "${file}", "jobArgs": { "param_name": 5, "num_plates": 4 } For debugging Workflows, you will use :guilabel:`Launch Workflow`. This will create and schedule a job to run ASAP in the lab whose id appears in the ``@workflow`` decorator. Any Assistants will need to be manually completed by the user. .. video:: _static/wf_debug/wf_debug.mp4 :autoplay: :muted: :loop: After adding breakpoints to your Workflow, you can debug by doing the following: 1. Open your .py file for your workflow. 2. Click :guilabel:`Run and Debug` and select the green button :guilabel:`Python: Launch Workflow`. If :guilabel:`Python: Launch Workflow` is already selected, you can hit :kbd:`F5` to run with debug or :kbd:`Ctrl+F5` without debugging. 3. When stopped at a breakpoint, you can click :guilabel:`Step Over` or :kbd:`F10` to skip to the next line, or :guilabel:`Run` or :kbd:`F5` to run to the next breakpoint if you have multiple breakpoints. If the lab has other jobs scheduled and is not configured to run jobs concurrently, the job launched by the debugger will not start executing right away.