前の関連記事:PyCharm(1)デバッグ時にUnicodeDecodeErrorがでる
PyCharm(1)デバッグ時にUnicodeDecodeErrorがでるでPyCharmでデバッグができるようになりましたが、ブレークポイントとStep Overボタンを使うだけのデバッグでは苦しくなってきたのでちゃんとデバッガの機能を調べてみます。
PyCharm開発元JetBrains公式な解説
ブレークポイントの設定をしてデバッガを起動。コードをコンソールで実行する方法。
Breakpoints - PyCharm - Confluence
ブレークポイントのいろいろな機能の解説。
Debugger - PyCharm - Confluence
デバッガのチュートリアル。マルチスレッドの例を使ってFrames枠、Variables枠、Watches枠の解説。
Debug Tool Window
デバックツールウィンドウにでてくる各ボタンの解説。
Evaluate Expression
ブレークポイントでプログラムを止めた状態の環境でいろいろコードを実行できるEvaluate Expression。
これらは全部英語です。日本語の解説は見つけられませんでした。
これらを参考にデバッガの使い方をみていきます。
ブレークポイントを設定してデバッガを起動する
デバッグをするにはまずはブレークポイントを設定しないといけません。
これを設定せずにデバッグボタンをクリックしてもRunボタンと同じようにプログラムが実行されるだけです。
ブレークポイントは、プログラムを止めたい行の枠外の左をクリックすると設定できます。
例としてPython(12)二重再帰の再帰を除去するで使ったフィボナッチの数列の項を求めるプログラムを使います。
def fib(n): lst = [1, 1] for i in range(1, n-1): lst = lst[1], sum(lst) return sum(lst) print(fib(5))プロジェクトウィンドウで右クリック→New→Python Fileでファイル名をPycharm2と入力してPyCharm2.pyファイルを作成して上記のコードを入力します。
PyCharmの環境設定はLibreOffice(2)Pythonの統合開発環境PyCharmのインストールでしたものです。
OSはWindows7 Home Premium 64bitです。
PyCharmはCommunity Edition 3.4.1、インタープリタはLibreOffice 4.2.2.1付属のC:\Program Files (x86)\LibreOffice 4\program\python-core-3.3.3\bin\python.exe 3.3.3 (default, Feb 26 2014, 23:40:42) [MSC v.1600 32 bit (Intel)]です。
これはLibreOffice(29)Pythonインタプリタの置き換えは断念のversion_check.pyで確認しました。
行番号の表示はメニューから、View→Active Editor→Show Line Numbersで変更できます。
行番号の右側の列をクリックするとブレークポイントが設定できます。
ブレークポイントが設定された行は背景色が赤になりました。
次にデバッガを起動します。
このようにNavigation BarもしくはToolbarにデバッグしたいファイル名が表示されていればその横の虫のボタンをクリックすればデバッガが起動します。
ところがこのファイル名の表示は履歴表示なので1回目にクリックするときはファイル名が正しく表示されていません。
なので1回目のデバッガの起動はPyCharm2.pyファイルを開いた状態で右クリック→Run 'PyCharm2'、を選択します。
これで先ほどのNavigation BarにPyCharm2と表示されるので次からは虫ボタンをクリックするだけでデバッグできます。
私はこの操作にいまだ馴染めずいつも1回目は前回開いたファイルでデバッガを起動してしまいます。
デバッガが起動すると画面の下部にデバックツールウィンドウが出現します。
止まっている行の背景色が青になります。
青の行のコードはまだ実行されていません。
一つのプログラムに対して並行して複数デバッグが可能
Step Overボタンを使って必要なところまでプログラムを確認したあとにデバッグを止めないとそのままの状態が保持されます。
デバッグボタンをクリックするたびにデバッグツールウィンドウに新たなタブが追加されていきます。
それぞれのタブを個別のステップにできます。
タブを右クリックするとタブを操作するメニューがでてきます。
「Close Tab」を選択するとプログラムを終了させるかどうか聞かれて、「Disconnect」を選択するとプログラムを終了してそのタブも閉じられます。
「Pin Tab」というのが何をしているのかわからないのですよね。
Use to pin or unpin the tab. If a tab is pinned, the results for the next command are shown on a new tab.ヘルプにはこう書いてあるのですけど、いまのところ新しいタブを作ってくれるようなコマンドには出会えていません。
Debug Tool Window
「Pinned Mode」というのはこのデバッグツールウィンドウの表示させたままにしておくということで、このチェックをはずしてコードの画面をクリックするとデバッグツールウィンドウが消えます。
デバッグツールウィンドウを再度表示させるにはメニューから、View→Tool Windows→Debug、とします。
View→Tool Buttons、ででてくるボタンで「Debug」を選択しても表示できます。
参考にしたサイト
JetBrains :: World's Leading Vendor of Professional Development Tools
PyCharm開発元JetBrains。
Breakpoints - PyCharm - Confluence
ブレークポイントのいろいろな機能の解説。
Debugger - PyCharm - Confluence
デバッガのチュートリアル。マルチスレッドの例を使ってFramesタブ、Variablesタブ、Watchesタブの解説。
Debug Tool Window<
デバックツールウィドウにでてくる各ボタンの解説。
Evaluate Expression
ブレークポイントでプログラムを止めた状態の環境でいろいろコードを実行できるEvaluate Expression。
0 件のコメント:
コメントを投稿