PyCharm 2019.2 не показывает трассировку при исключении

Очень простой минимальный пример:

if __name__ == '__main__':
    print("Still ok")
    raise Exception("Dummy exception")
    print("End of Program")

Я получаю этот вывод при запуске его в отладчике PyCharm 2019.2 с Python 3.6:

/usr/bin/python3.6 /home/[...]/pycharm-community-2019.2/helpers/pydev/pydevd.py --multiproc --qt-support=auto --client 127.0.0.1 --port 46850 --file /home/[...]/test_traceback.py
pydev debugger: process 18394 is connecting

Connected to pydev debugger (build 192.5728.105)
Still ok

На этом этапе отладчик прерывает поток выполнения, но никаких сообщений об отслеживании и исключениях не отображается в консоли отладчика. Если я запускаю тот же в PyCharm 2018.1, он показывает эти прямо при достижении точки останова.

Когда я нажимаю Continue, я получаю желаемый результат, но затем я больше не могу запускать код в контексте отладки, потому что процесс заканчивается:

Traceback (most recent call last):
  File "/home/[...]/pycharm-community-2019.2/helpers/pydev/pydevd.py", line 2060, in <module>
    main()
  File "/home/[...]/pycharm-community-2019.2/helpers/pydev/pydevd.py", line 2054, in main
    globals = debugger.run(setup['file'], None, None, is_module)
  File "/home/[...]/pycharm-community-2019.2/helpers/pydev/pydevd.py", line 1405, in run
    return self._exec(is_module, entry_point_fn, module_name, file, globals, locals)
  File "/home/[...]/pycharm-community-2019.2/helpers/pydev/pydevd.py", line 1412, in _exec
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "/home/[...]/pycharm-community-2019.2/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "/home/[...]/test_traceback.py", line 4, in <module>
    raise Exception("Dummy exception")
Exception: Dummy exception

Process finished with exit code 1

Моя конфигурация точки останова:

Breakpoint config

Ответы

Ответ 1

Работает в PyCharm (Community) 2019.1.4:

Img0

Похоже, вы столкнулись с ошибкой (регрессии):

который влияет на v2019.2.1 и планируется исправить в v2019.2.3.

Чтобы обойти эту проблему, вам нужно:

  • Дождитесь выпуска v2019.2.3 (или любого другого, имеющего исправление) и переключитесь на эту (возможно, захотите (периодически) проверку [JetBrains.Blog]: объявления о выпуске)
  • Вернитесь к (предыдущей) версии, на которую не влияет ошибка (как я уже упоминал: 2019.1.4)

@EDIT0

Установлено (на 20190930) последнее исправление (v2019.2.3), и отслеживание присутствует в консоли PyCharm (поэтому ошибка исправлена).

Ответ 2

Вы проверяли свои пробелы в начале каждой исполняемой строки? однажды это произошло со мной было исправлено только после исправления пробелов.