オンラインPythonデバッガ (PyCat)を使ってデバッグする方法
'
オンライン デバッガとは?
いつどこでもインターネットが使えれば、Pythonを動かすことができます。
コードの編集やデバッグ(実行)ができるものです。
開発環境が無くてもどこでもネット環境があれば使えます、デメリットはネット環境が無ければ使えません。
デバッガとは何ができる?
プログラミングをして実行すると、
どのように動いて(処理の流れ)結果が出力されたかが分かりません、
しかしデバッガを使うとこれが容易にわかるのです。
ただデバッグは大変だと思って嫌になってしまいそうですが、実は簡単です。
プログラミングをちょっと学んだ人は次のことを思い出して下さい
◆プログラムは命令文を1行ごとに処理する
◆プログラムには変数がある
①プログラムを1行ごとに動かせる
②変数の内容がわかる
③ブレークポイントで指定行までスキップ
このくらいですよね、デバッガでやりたいのは…
低速で動かしてみよう!
本デバッガは低速で自動実行する機能があります。
[実行]をクリックすると、作業モードが[実行中]に変わり、
コード上に黄色のライン(処理前の行)が表示されて、1行ずつ自動で実行されます。
途中で止めたい場合は、[停止]をクリックして下さい。[停止]は[次へ]かマウスクリックで1行ごとに実行されます。
エラーが発生するとその行が赤色になり停止します。
エラー継続が可能なエラーの場合(try except)では続行できます、[次へ]や[実行]をクリックして下さい エラー後でも実行していきます。
「Python基本のエラー処理(Try Except)」で確認することができます。
※実際の動きでは停止しません、デバッグ上わかりやすくする為に停止させています。
1行ずつ動かしてみよう!
1行ずつ動かすには、最初に[開始]をクリックしてデバッグのモードにします
作業モードは「実行中」になります。
[次へ]のクリックで1行だけ実行されます、
(コードパネル上の黄色のラインが移動します)
関数内部へ処理を移したい場合は、関数の呼出前で[中へ]をクリックして下さい。
デバッグの終了は[終了]をクリックします、作業モードは「編集中」になります、
このモードでは、コードの書換えができます。
オンラインPythonデバッガ (PyCat) の使い方
PyCatは、編集とデバッグがオンライン上ですぐにできます。
ちょとしたコードの動作確認などがすばやく行えます、
ソースコードの切替はコピーペーストを使います。
作業モードに注意してコード編集すればすぐに結果が分かります。
*編集と実行について
*ソースコードのコピー&ペースト
*変数内容の確認
*指定行まで実行させる
*便利な使い方
*デバッガ、pdbのコマンドを使う
*テストの為の参考コード
(コピーペーストして使って下さい!)
編集できますよ
編集をするには、作業モードに注意が必要です。
作業モードは2つありあります(青色のタイトルバーの部分に表示されています)
作業モードの変更は、画像の赤枠の[開始],[終了]で切替えられます(トグル切替)。
編集中では、コードを通常のエディターとして編集できます、実行中はプログラムがデバッグモードで起動されている状態です。
編集作業中のマウスクリックはその場所にカーソルが移動しますが、デバッグモードではプログラムが一行だけ実行されるので注意です。
①編集中
②実行中
モードが[編集中] の場合に編集ができる
実行中では、デバッグ中であり変数内容の確認をすることができる(変数名にマウスカーソルを移動させてます)
ソースコードのコピー&ペースト
PyCatの最初の表示では、サンプルのコードが表示されています、
変更したい場合は、コピー&ペーストを使います
標準的なショートカットキーが使えますので簡単に切替えられます。
コードのコピー&ペーストで貼り付けができます。
やり方は、Webページ等のソースコードをコピー(コード選択して[Ctrl+C])してから、
デバッガのコード上をクリックしてフォーカスをあて、以下の順番にてショートカットキーで貼り付けます。
・(Ctrl+A) 変更前コードを全て選択します
・(Ctrl+V) 貼り付けます
※貼り付け元にタブコードが含まれている場合は、ショートカットの変換を利用して
タブコードを空白文字4つに変換して下さい。
・変換はショートカットキーの Shift-Ctrl-R( Shift-Cmd-Option-F )です
・Replace:の後に \t(タブコードを表現)入力してEnter
・With:の後に 4回スペースキーを押して、4つの空白を入力させてEnter
便利なショートカットキーすいません、ただ今 検索など一部使えません…
編集戻し Ctrl-Z
編集再戻 Ctrl-Y
全選択 Ctrl-A
コピー Ctrl-C
貼り付け Ctrl-V
行削除 Ctrl-D
検索開始 Ctrl-F / Cmd-F
次の検索 Ctrl-G / Cmd-G
前の検索 Shift-Ctrl-G / Shift-Cmd-G
文字列置換 Shift-Ctrl-F / Cmd-Option-F
全て置換 Shift-Ctrl-R / Shift-Cmd-Option-F
行移動 Alt-G
※Tabキーはインデント(4空白)してくれます、
Shift-Tabはインデントを戻します。
複数行インデント調整したい場合は、行選択してからTabキーを押してください。
変数内容の確認
右下のパネルにて、変数名,データ型,値を確認する事ができます。
また、変数名にマウスポインターを移動しても、
ツールチップのウィンドウで確認できます。
CMDの入力域では、Python標準デバッガのpdbのコマンドが使えます、
変数名だけでも表示されますが 「p 変数名」が確実です
複雑な変数名や配列や辞書型などは、こちらを利用して下さい。
変数参照の例
p ix
変数変更の例
data=1
指定した行で停止させたい
行番号をクリック(マウス右)すると●印が付いて、ブレークポイントが設定されます。
解除はもう一度クリックで「●」が消えます。
[継続]クリックで、指定行の前まで実行されて止まります、
[次へ]クリックでは1行ずつ処理されます。
再度、[実行]をクリックすると低速実行していきます、自動実行中で止めたい行でも有効です。
※(自動実行中の場合は、関数内にブレークポイントが有るとき関数の呼出前でShiftキーを押してください処理が内部に移ります)
クイック操作 (自動実行でない場合)
コードパネル上では、
リターンキーやクリックだけでも行の処理が行えます、
[次へ]と同じです。
またCMDの入力域でも pdbコマンドの next step ~が使えるので
上手く使ってみて下さい。
下記のメニューをクリックするとデバッガが起動されます。
こちらは、コピペ用の参考ソースコード(掲載の意味はありません、デバッガのコピペ用)
#-------------------------------------------------------------------
# 10回ループします
#------------------------------------------------------------------
data="です。"
for i in range(10):
print(i, data )
if文を見てみる
(ブレークポイントして変数内容を見てみましょう!)
old=22
if old>=18:
print("大人です")
else:
print("子供です")
ウィンドウの表示(Tkinterと使う)
import tkinter
from tkinter import messagebox
root = tkinter.Tk()
root.withdraw()
res = messagebox.askyesno("終了確認", "終了しますか?")
print("返却値", res)
標準入力してみる
namae = input("お名前を入力して下さい")
print("こんにちは", namae, "さん")
©2023 Kenji Kobayashi
YouTube