除錯

使用 Python 除錯器

You can configure Litestar to drop into the Python Debugger when an exception occurs. This can be configured in different ways:

Configuring Litestar with the pdb_on_exception option
app = Litestar(pdb_on_exception=True)
使用 CLI 執行您的應用程式並搭配 --pdb 旗標
litestar run --pdb
使用 LITESTAR_PDB 環境變數

LITESTAR_PDB=1

使用 IDE 進行除錯

You can easily attach your IDEs debugger to your application, whether you're running it via the CLI or a webserver like uvicorn.

Intellij / PyCharm

使用 CLI

  1. Create a new debug configuration via Run > Edit Configurations

  2. Select Module name option and set it to litestar

  3. Add the run parameter and optionally additional parameters you want to pass to the CLI

    ../_images/pycharm-config-cli.png
  4. Run your application in the debugger via Run > Debug Litestar

    ../_images/pycharm-debug.png

重要

Breakpoints inside route handlers might not work correctly when used in conjunction with the --reload and --web-concurrency parameters. If you want to use the CLI while making use of these options, you can attach the debugger manually to the running uvicorn process via Run > Attach to process.

使用 uvicorn

  1. Create a new debug configuration via Run > Edit Configurations

  2. Select Module name option and set it to uvicorn

  3. Add the app:app parameter (or the equivalent path to your application object)

    ../_images/pycharm-config-uvicorn.png
  4. Run your application in the debugger via Run > Debug Litestar

    ../_images/pycharm-debug.png

VS Code

使用 CLI

  1. Add a new debugging configuration via Run > Add configuration
    ../_images/vs-code-add-config.png
  2. From the Select a debug configuration dialog, select Module
    ../_images/vs-code-select-config.png
  3. Enter litestar as the module name
    ../_images/vs-code-config-litestar.png
  4. In the opened JSON file, alter the configuration as follows:
    {
        "name": "Python: Litestar app",
        "type": "debugpy",
        "request": "launch",
        "module": "litestar",
        "justMyCode": true,
        "args": ["run"]
    }
    
  5. Run your application via the debugger via Run > Start debugging
    ../_images/vs-code-debug.png

使用 uvicorn

  1. Add a new debugging configuration via Run > Add configuration
    ../_images/vs-code-add-config.png
  2. From the Select a debug configuration dialog, select Module
    ../_images/vs-code-select-config.png
  3. Enter uvicorn as the module name
    ../_images/vs-code-config-litestar.png
  4. In the opened JSON file, alter the configuration as follows:
    {
        "name": "Python: Litestar app",
        "type": "debugpy",
        "request": "launch",
        "module": "uvicorn",
        "justMyCode": true,
        "args": ["app:app"]
    }
    
  5. Run your application via the debugger via Run > Start debugging
    ../_images/vs-code-debug.png

Customizing the debugger

You can configure Litestar with the debug_module option to enable interactive debugging. Currently, it supports the following debugging tools: ipdb, PuDB and pdbr. Also supports pdb++. The default value is pdb.

import ipdb


app = Litestar(pdb_on_exception=True, debugger_module=ipdb)