Как использовать дебаггер в pycharm

Step 2. Debug your first Python application

Finding out the origin of the problem

Remember, in the previous tutorial you’ve created and run the Car script? Let’s play a little more with it and modify the average_speed function as follows:

Let’s see what happens when we start our script up, and try to find out our average speed:

Как использовать дебаггер в pycharm. py run error. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py run error. картинка Как использовать дебаггер в pycharm. картинка py run error

Let’s dig a little deeper into our code to find out what’s going wrong. We can use the PyCharm debugger to see exactly what’s happening in our code. To start debugging, you have to set some breakpoints first. To create breakpoints, just click in the gutter

Как использовать дебаггер в pycharm. py breakpoints added. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py breakpoints added. картинка Как использовать дебаггер в pycharm. картинка py breakpoints added

Как использовать дебаггер в pycharm. py debug menu command. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debug menu command. картинка Как использовать дебаггер в pycharm. картинка py debug menu command

PyCharm starts a debugging session and shows the Debug tool window

Как использовать дебаггер в pycharm. py debugToolWindow. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugToolWindow. картинка Как использовать дебаггер в pycharm. картинка py debugToolWindow

Как использовать дебаггер в pycharm. py debugToolWindow1. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugToolWindow1. картинка Как использовать дебаггер в pycharm. картинка py debugToolWindow1

Как использовать дебаггер в pycharm. py debugToolWindow2. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugToolWindow2. картинка Как использовать дебаггер в pycharm. картинка py debugToolWindow2

The debugger also shows the error message. So we’ve found our problem. You can also see in the debugger, that the value self.time is equal to zero:

Как использовать дебаггер в pycharm. . Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-. картинка Как использовать дебаггер в pycharm. картинка

Surrounding code

To avoid running into the same problem again, let’s add an if statement to check whether the time equals zero. To do that, select the statement return self.odometer / self.time in the method average_speed and then press Ctrl+Alt+T ( Code | Surround with ):

Как использовать дебаггер в pycharm. py surround. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py surround. картинка Как использовать дебаггер в pycharm. картинка py surround

PyCharm creates a stub if construct, leaving you with the task of filling it with the proper contents.

Как использовать дебаггер в pycharm. py surround if stub. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py surround if stub. картинка Как использовать дебаггер в pycharm. картинка py surround if stub

After editing, we get the following:

Как использовать дебаггер в pycharm. py surround result. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py surround result. картинка Как использовать дебаггер в pycharm. картинка py surround result

Let’s take a closer look to see how the debugger can show your what your code is doing.

Debugging in detail

The Debug tool window shows dedicated panes for frames, variables, and watches, and the console, where all the input and output information is displayed. If you want the console to be always visible, you can drag it to one of the PyCharm window’s edges.

Stepping

If you want to see what your code does line by line, there’s no need to put a breakpoint on every line, you can step through your code.

We can use the stepping toolbar buttons to choose on which line we’d like to stop next.

Как использовать дебаггер в pycharm. py stepping toolbar. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py stepping toolbar. картинка Как использовать дебаггер в pycharm. картинка py stepping toolbar

Как использовать дебаггер в pycharm. py debugging1 step over. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugging1 step over. картинка Как использовать дебаггер в pycharm. картинка py debugging1 step over

Как использовать дебаггер в pycharm. py debugging1 step into. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugging1 step into. картинка Как использовать дебаггер в pycharm. картинка py debugging1 step into

Как использовать дебаггер в pycharm. . Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-. картинка Как использовать дебаггер в pycharm. картинка

Watching

Как использовать дебаггер в pycharm. py debugging1 watch completion. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugging1 watch completion. картинка Как использовать дебаггер в pycharm. картинка py debugging1 watch completion

Как использовать дебаггер в pycharm. py debugging1 watch error. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugging1 watch error. картинка Как использовать дебаггер в pycharm. картинка py debugging1 watch error

However, when the program execution continues to the scope that defines the variable, the watch gets the following view:

Как использовать дебаггер в pycharm. py debugging1 watch normal. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugging1 watch normal. картинка Как использовать дебаггер в pycharm. картинка py debugging1 watch normal

See Watches section for details.

Inline debugging

You may have noticed another PyCharm feature that makes it easy to see what your code is doing: the inline debugger. As soon as you press any breakpoint, PyCharm shows you the value of many of your variables right in the editor:

Как использовать дебаггер в pycharm. py debugging inline. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugging inline. картинка Как использовать дебаггер в pycharm. картинка py debugging inline

Как использовать дебаггер в pycharm. py inline debugging command. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py inline debugging command. картинка Как использовать дебаггер в pycharm. картинка py inline debugging command

Summary

So, you’ve done it! Congrats! Let’s repeat what you’ve done with the help of PyCharm:

Источник

Debug

There is a variety of ways how you can run a debugging session, however, for simplicity this documentation assumes that you are building and running your project from PyCharm. This is the most common case, and it has fewer limitations as compared to more advanced techniques. The procedures for attaching to a process and debugging a remote application are covered in separate sections.

Configure debugging options

If you are new to debugging, the out-of-the-box configuration will work for you. The topics about each debugger functionality provide references and explain the related settings where applicable. If you are an advanced user and looking for some particular property, see the Debugger reference section.

Under the Build, Execution and Deployment section, select Python Debugger, and configure the Python debugger options.

Under the Project | Python Interpreter section, configure the Python packages that might be required for some debugging configurations.

Define a run/debug configuration if you are going to use a custom one. This is required if you need some arguments to be passed to the program or some special activity to be performed before launch. For more information on how to set up run/debug configurations, refer to the Run/debug configurations section. Most of the time, you don’t need this to debug a simple program that doesn’t expect arguments or have any special requirements.

General debugging procedure

There is no one-size-fits-all procedure for debugging applications. Depending on actual requirements you may have to use different actions in different order. This topic provides general guidelines, which represent typical debugging steps. The details on how and when to use particular features are provided in the respective topics.

The alternative to using breakpoints is manually suspending the program at an arbitrary moment, however this method imposes some limitations on the debugger functionality and doesn’t allow for much precision as to when to suspend the program.

Just right-click any line in the editor and select the Debug command from the context menu.

After the program has been suspended, use the debugger to get the information about the state of the program and how it changes during running.

The debugger provides you with the information about variable values, the current state of the threads, breakdown of objects that are currently in the heap, and so on. It also allows you to test your program in various conditions by throwing exceptions (for example, to check how they are handled) or running arbitrary code right in the middle of the program execution.

While these tools let you examine the program state at a particular instant, the stepping feature gives you the control over step-by-step execution of the program. By combining the tools you can deduce where the bug is coming from and test your program for robustness.

Источник

Part 1. Debugging Python Code

Preparing an example

Copy the following code into a file in your project (though it is recommended to type this code manually):

Placing breakpoints

To place breakpoints, just click the gutter next to the line you want your application to suspend at:

Как использовать дебаггер в pycharm. py debugging breakoints. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugging breakoints. картинка Как использовать дебаггер в pycharm. картинка py debugging breakoints

Refer to the section Breakpoints for details.

Starting the debugger session

OK now, as we’ve added breakpoints, everything is ready for debugging.

Как использовать дебаггер в pycharm. py debugging start. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugging start. картинка Как использовать дебаггер в pycharm. картинка py debugging start

The debugger starts, shows the Console tab of the Debug tool window, and lets you enter the desired values:

Как использовать дебаггер в pycharm. py debugging console. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugging console. картинка Как использовать дебаггер в pycharm. картинка py debugging console

Как использовать дебаггер в pycharm. py debugging show prompt. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugging show prompt. картинка Как использовать дебаггер в pycharm. картинка py debugging show prompt

Then the debugger suspends the program at the first breakpoint. It means that the line with the breakpoint is not yet executed. The line becomes blue:

Как использовать дебаггер в pycharm. py debugging stop at first breakpoint. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugging stop at first breakpoint. картинка Как использовать дебаггер в pycharm. картинка py debugging stop at first breakpoint

Inline debugging

In the editor, you see the grey text next to the lines of code:

Как использовать дебаггер в pycharm. py inline debugging. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py inline debugging. картинка Как использовать дебаггер в pycharm. картинка py inline debugging

Inline debugging can be turned off.

Note that you can do it in course of the debugger session!

Let’s step!

Как использовать дебаггер в pycharm. py debugging step. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugging step. картинка Как использовать дебаггер в pycharm. картинка py debugging step

Как использовать дебаггер в pycharm. py debugging step into. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugging step into. картинка Как использовать дебаггер в pycharm. картинка py debugging step into

Как использовать дебаггер в pycharm. . Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-. картинка Как использовать дебаггер в pycharm. картинка

Watching

Как использовать дебаггер в pycharm. py debugging watches completion. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugging watches completion. картинка Как использовать дебаггер в pycharm. картинка py debugging watches completion

Как использовать дебаггер в pycharm. py debugging watches error. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugging watches error. картинка Как использовать дебаггер в pycharm. картинка py debugging watches error

However, when the program execution continues to the scope that defines the variable, the watch gets the following view:

Как использовать дебаггер в pycharm. py debugging watches normal. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugging watches normal. картинка Как использовать дебаггер в pycharm. картинка py debugging watches normal

Evaluating expressions

Как использовать дебаггер в pycharm. py debugging evaluate. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugging evaluate. картинка Как использовать дебаггер в pycharm. картинка py debugging evaluate

PyCharm gives you the possibility to evaluate any expression. For example:

Как использовать дебаггер в pycharm. py debugging evaluate1. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugging evaluate1. картинка Как использовать дебаггер в pycharm. картинка py debugging evaluate1

Как использовать дебаггер в pycharm. py debugging evaluate ipython. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-py debugging evaluate ipython. картинка Как использовать дебаггер в pycharm. картинка py debugging evaluate ipython

Changing format of the decimal variables

In PyCharm debugger, you can preview int variables in the hexadecimal or binary format. This might be particularly helpful when you debug network scripts that include binary protocols.

To change the display format, select one or several int variables in the Variables list, right-click, and select View as | Hex from the context menu.

Как использовать дебаггер в pycharm. . Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-. картинка Как использовать дебаггер в pycharm. картинка

The format of the variables change both in the list of the variables and in the editor.

Как использовать дебаггер в pycharm. . Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-. картинка Как использовать дебаггер в pycharm. картинка

Summary

You’ve refreshed your knowledge of the breakpoints and learnt how to place them.

You’ve learnt how to begin the debugger session, and how to show the Python prompt in the debugger console.

You’ve refreshed your knowledge about the inline debugging.

You’ve tried hands on stepping, watches and evaluating expressions.

Источник

Отладка программ в среде разработки PyCharm

Перейдите в программе на интересующую Вас строку, начиная с которой будет начала отладка.

Как использовать дебаггер в pycharm. 4cbe2e2ab2c5fac5cd39e. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-4cbe2e2ab2c5fac5cd39e. картинка Как использовать дебаггер в pycharm. картинка 4cbe2e2ab2c5fac5cd39e

Как использовать дебаггер в pycharm. a8bff1f647e89a9a7e08d. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-a8bff1f647e89a9a7e08d. картинка Как использовать дебаггер в pycharm. картинка a8bff1f647e89a9a7e08d

Теперь рядом со строкой появилась красная жирная точка. Это точка останова. Теперь при выполнении программы в режиме отладки среда остановит её в этом месте, и можно будет узнать состояние программы.

Как использовать дебаггер в pycharm. d4c057c35a18523fb116d. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-d4c057c35a18523fb116d. картинка Как использовать дебаггер в pycharm. картинка d4c057c35a18523fb116d

Нажмите правой кнопкой на название файла с программой и выберите Debug:

Как использовать дебаггер в pycharm. 842757d4f895f177baf4f. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-842757d4f895f177baf4f. картинка Как использовать дебаггер в pycharm. картинка 842757d4f895f177baf4f

Теперь программа запустилась и остановилась на указанной строке. Текущее положение интерпретатора Python в программе отмечается синей строкой. В нижней части экрана появилась вкладка отладки. Там виден список переменных, доступных из данной точки программы.

Как использовать дебаггер в pycharm. 9313211800d69e74451a3. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-9313211800d69e74451a3. картинка Как использовать дебаггер в pycharm. картинка 9313211800d69e74451a3

Как использовать дебаггер в pycharm. b7fd34dd4ca0867f2b636. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-b7fd34dd4ca0867f2b636. картинка Как использовать дебаггер в pycharm. картинка b7fd34dd4ca0867f2b636

Как и ожидалось, интерпретатор переместил фокус своего внимания на строку 2, вовнутрь функции get_third_from_end() :

Как использовать дебаггер в pycharm. 7d26acec86cabfcc308ef. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-7d26acec86cabfcc308ef. картинка Как использовать дебаггер в pycharm. картинка 7d26acec86cabfcc308ef

Как использовать дебаггер в pycharm. ec6485d04e6da9e8e8f01. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-ec6485d04e6da9e8e8f01. картинка Как использовать дебаггер в pycharm. картинка ec6485d04e6da9e8e8f01

Как использовать дебаггер в pycharm. 46358931ab48c9cce98c9. Как использовать дебаггер в pycharm фото. Как использовать дебаггер в pycharm-46358931ab48c9cce98c9. картинка Как использовать дебаггер в pycharm. картинка 46358931ab48c9cce98c9

Таким образом можно легко узнавать, что происходит в каждой точке Вашей программы. Это часто необходимо для поиска ошибок, когда Вы не понимаете, почему программа выдаёт некоторый неверный ответ. Удачной отладки!

Источник

Как использовать Pycharm для отладки вашего кода Python

Код отладки на любом языке может быть расстраивает, но это особенно так в Python, где мы немедленно не можем распознать ошибку.

Кроме того, Python предоставляет нам библиотеку PDB в качестве инструмента для отладки, что также может быть трудно обрабатывать.

К счастью, у нас есть пичарный IDE. Он использует Pydev и дает нам новый опыт отладки!

В этой статье я пойду на основную и наиболее полезную отладку функций Pycharm должен предложить и научить вас как эффективно использовать их.

Контрольные точки

Точки останова могут быть ненужными, когда мы сталкиваемся с ошибкой, который возникает в определенном состоянии.

Кроме того, когда у нас много из них, это беспорядок.

К счастью, Pycharm дает нам возможность управлять точками останова эффективным способом:

3. Как мы можем видеть, для каждой точки останова мы можем установить условие, которое будет запускать точку останова (см. 2)

4. Кроме того, мы можем установить очень особенное условие, которое контролирует, будет ли точка останова будет вызвать, когда происходит исключение (см. 3) в двух разных состояниях:

а. По окончании (после заканчивается сценарий)

б. На повышении (до заканчивается сценарий)

Прикрепить к локальным процессам

Вы когда-нибудь задавались вопросом, можно ли отладить удаленный процесс?

Выполните ли вы другие процессы на заднем плане или создаете их как часть потока, Pycharm предоставляет вам очень эффективный способ отладки удаленных процессов:

2. Теперь выберите процесс Python, который вы хотите отлавить:

3. Затем процесс, который вы выбрали, будут отлажены в Pycharm:

Переводчик Python с загруженной средой

Создание расчетов и манипулированием переменных текущего отлаженного кода экономит время и позволяет внести изменения на фактическую песочницу!

Pycharm предоставляет нам переводчик Python с загруженной средой.

2. Как вы можете увидеть ниже, переводчик признает наши переменные!

Заключение

Pycharm предоставляет нам много отличных инструментов, и этот отладчик является одним из них.

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

Я надеюсь, что эта статья научила вам что-то новое, и я с нетерпением жду ваших отзывов. Пожалуйста, скажите – было ли это полезно для вас?

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *