質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

1回答

834閲覧

Pythonでデバッガーを作りたい。

World

総合スコア44

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/10/09 01:52

実現したいこと

  1. Pythonで、デバッガーを作りたい
  2. 変数をウォッチしたい
  3. エラーが起きた場所を取得したい
  4. vscode劣化版

なぜ作ろうと思ったか。

Pythonで、どんなものを作りたいかと考えたときに
PythonでPythonをデバッグできたら楽しいな。
後々、いろんな言語もデバッグできるようになったら...

思いついたアイディア

pdbで、デバッグすると考えてCUIを操作する方法を考えて
ステップボタンを押したらCUIにコマンドを送ってステップする...
という、考えは思いつきました。

アイディアに対する疑問点

どうやってCUIをコントロールするのか。
どうやって変数の中身を取得したりするのか。
どうやってログ残そうかな。

アイディアを募集しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

アイディアを募集しています。

これを読みましょう。

推奨していない質問|teratail(テラテイル)


次に、とりあえずpdbのドキュメントを読んでみましょう。凄いことが書いてあります。

デバッガーは拡張可能です – 実際にはクラス Pdb として定義されています。現在これについてのドキュメントはありませんが、ソースを読めば簡単に理解できます。拡張インターフェースはモジュール bdb と cmd を使っています。

27.3. pdb — Python デバッガ — Python 3.6.5 ドキュメント

(強調は回答者による)

pdbモジュールのソースは1694行ですが、半分以上docstringなので正味800行くらい。まずは頑張ってこれを理解しましょう。


とりあえずtkinterかPyQtあたりを使ってPdbのGUI wrapperを作ってみれば良いんじゃないかなぁ、と思います。

いろんな言語は、当面諦めておきましょう。言語ごとに仕様の違うデバッガがある訳で、それぞれに対応させるのは大変。

投稿2018/10/09 02:32

hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問