.. _debugger: Debugger ======== JupyterLab 3.0 now ships with a Debugger front-end by default. This means that notebooks, code consoles and files can now be debugged from JupyterLab directly! Requirements ------------ For the debugger to be enabled and visible, a kernel with support for debugging is required. Here is a list of kernels that are known to be supporting the Jupyter Debug Protocol: - `xeus-python `_: Jupyter kernel for the Python programming language - `xeus-robot `_: Jupyter kernel for Robot Framework - `ipykernel `_: IPython Kernel for Jupyter Other Jupyter Kernels can also support debugging and be compatible with the JupyterLab debugger by implementing the `Jupyter Debugger Protocol `_. If you know of other kernels with support for debugging, please open a PR to add them to this list. Here is an example of how to install ``ipykernel`` and ``xeus-python`` in a new ``conda`` environment: .. code:: bash conda create -n jupyterlab-debugger -c conda-forge jupyterlab=3 "ipykernel>=6" xeus-python conda activate jupyterlab-debugger Usage ----- For Python, both ``ipykernel`` (6.0+) and ``xeus-python`` support debugging. Enable the debugger, set breakpoints and step into the code: .. image:: ./images/debugger/step.gif Tutorial Notebook ----------------- There is also a tutorial notebook to try the debugger that is available on the `jupyter-ide-demo repo `_. and can be run on Binder `here `_. .. image:: ./images/debugger/tutorial-notebook.png