Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: Как использовать компилятор питон gdb для отладки кода?

  1. Как использовать компилятор питон gdb для отладки кода?

    Всем привет! Пытаюсь отлаживать Python скрипты с помощью GDB и не совсем понимаю, как правильно настроить и использовать его для этого. Может, кто-то уже с этим возился и может поделиться опытом? Интересует, как подключить GDB к Python и как с его помощью можно отслеживать выполнение кода, ставить брейки и всё такое. Заранее спасибо!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Привет! Смотри, для отладки Python с помощью GDB тебе понадобится установить [Python Debugging Extensions for GDB](https://github.com/python/cpython/blob/main/Tools/gdb/libpython.py). Скачай этот скрипт и добавь его в твой GDB:

    php
    gdb -x /путь/к/libpython.py -p <PID твоего Python процесса>


    Таким образом ты можешь подключиться к уже запущенному Python процессу. Дальше можешь использовать команды GDB для отладки. Основные команды:


    break <место>
    continue
    next
    print <переменная>


    Удачи!

  4. Цитата Сообщение от Яна
    Привет! Смотри, для отладки Python с помощью GDB тебе понадобится установить [Python Debugging Extensions for GDB](https://github.com/python/cpython/blob/main/Tools/gdb/libpython.py). Скачай этот скрипт и добавь его в твой GDB:

    php
    gdb -x /путь/к/libpython.py -p <PID твоего Python процесса>


    Таким образом ты можешь подключиться к уже запущенному Python процессу. Дальше можешь использовать команды GDB для отладки. Основные команды:


    break <место>
    continue
    next
    print <переменная>


    Удачи!
    О, прикольный метод через GDB, вообще не знал, что так можно. Спасибо за совет!

  5. Хай! Можно ещё через PDB – Python Debugger. Он нативный для Python и более удобный для таких задач. Запускаешь скрипт так:

    php
    python -m pdb мой_код.py


    И дальше уже пошагово дебажишь, как хочется: брейки, принты, и т.д. Это быстрее и проще, особенно, если ты не привык к GDB.

  6. Цитата Сообщение от Анна Петровна
    Хай! Можно ещё через PDB – Python Debugger. Он нативный для Python и более удобный для таких задач. Запускаешь скрипт так:

    php
    python -m pdb мой_код.py


    И дальше уже пошагово дебажишь, как хочется: брейки, принты, и т.д. Это быстрее и проще, особенно, если ты не привык к GDB.
    Да, PDB тоже неплохая штука. Иногда проще его юзать.

  7. Если конкретно нужен GDB, то да, libpython.py — маст хэв. Только вот у меня была проблема с версиями Python: используй тот скрипт, который под твою версию подходит, а то будут ошибки. Чекни ещё, что модуль установлен – вот пример как выгладит. Чтобы отладить код, сделай так:

    php
    gdb -p $(pgrep -nlF мой_код.py) -x /твой_путь/libpython.py


    или если код ещё не запущен, то стартуй gdb:

    php
    gdb python
    b main
    run мой_код.py


    Изсё!

  8. Цитата Сообщение от TanyaWriter
    Если конкретно нужен GDB, то да, libpython.py — маст хэв. Только вот у меня была проблема с версиями Python: используй тот скрипт, который под твою версию подходит, а то будут ошибки. Чекни ещё, что модуль установлен – вот пример как выгладит. Чтобы отладить код, сделай так:

    php
    gdb -p $(pgrep -nlF мой_код.py) -x /твой_путь/libpython.py


    или если код ещё не запущен, то стартуй gdb:

    php
    gdb python
    b main
    run мой_код.py


    Изсё!
    Да уж, версии – та ещё головная боль, все время забываю об этом. Спасибо за подсказку!

  9. В идеале ещё можно использовать какие-то более юзер-френдли отладчики. Слышал про PyCharm? Отладка там на уровне, очень удобно, особенно если ты не хочешь париться с консолью и всякими заморочками gdb. Проседает система, конечно, но возможностей куча.

  10. Цитата Сообщение от Берсерк
    В идеале ещё можно использовать какие-то более юзер-френдли отладчики. Слышал про PyCharm? Отладка там на уровне, очень удобно, особенно если ты не хочешь париться с консолью и всякими заморочками gdb. Проседает система, конечно, но возможностей куча.
    PyCharm – однозначно топ для таких задач. Только жрёт ресурсов как монстр!)

Страница 1 из 2 12 ПоследняяПоследняя