SlideShare a Scribd company logo
1 of 16
Download to read offline
プログラミングLT 2019
2019年 4⽉30⽇
坂本 諒太
Pythonにおける
デバッガーツールの
pdbについて
⾃⼰紹介
坂本 諒太
sakamoto ryota
TIS株式会社
戦略技術センター(R&D部⾨)
・エンジニア
・Webサービス、スマホアプリ、OSS、対話の研究
・現業務はロボット・IoTデバイスの制御やサーバサイドなど
pdb使ってますか?
Python標準
デバッガー
典型的な使い⽅
import pdb;pdb.set_trace()
コードの好きな場所に挿⼊することで
ブレークポイントを張れる
※Python3.7からは breakpoint()でもOK
使い⽅
デバッガコマンド
ブレークポイントに⼊った時に
使えるコマンド
デバッガコマンド
デバッグを
⼀⾏進める
•h
•w
•d
•u
•b
•tbreak
•cl
•disable
•enable
•ignore
•condition
•commands
•s
•n
•unt
•r
•c
•j
•l
•ll
•a
•p
•pp
•whatis
•source
•display
•undisplay
•intract
•alias
•unalias
•!
•run
•restart
•q
•h
•w
•d
•u
•b
•tbreak
•cl
•disable
•enable
•ignore
•condition
•commands
•s
•n
•unt
•r
•c
•j
•l
•ll
•a
•p
•pp
•whatis
•source
•display
•undisplay
•intract
•alias
•unalias
•!
•run
•restart
•q
34 種類
デバッグを
⼀⾏進める
デバッグを
終了する
•h
•w
•d
•u
•b
•tbreak
•cl
•disable
•enable
•ignore
•condition
•commands
•s
•n
•unt
•r
•c
•j
•l
•ll
•a
•p
•pp
•whatis
•source
•display
•undisplay
•intract
•alias
•unalias
•!
•run
•restart
•q
alias
⾃作のデバッガコマンド
alias pi for k in %1.__dict__.keys(): print("%1.",k,"=",%1.__dict__[k])
コマンド名 実⾏内容
.pdbrcに記述でいつでも使える!
デバッグがやりやすい
オブジェクトの中⾝を綺麗に列挙
まとめ
• Pythonデバッガーpdbの紹介
• aliasで⾃作デバッグコマンド作成
• .pdbrcに記述でいつでも使える
• PythonデバッグだとPySnooperというのがバズってる
宣伝
https://github.com/RoboticBase/core
ロボット、IoT統合管理プラットフォーム
スター押してください。お願いします。
RoboticBase

More Related Content

What's hot

RubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみたRubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみたYusuke Kon
 
Analog Devices の IP コアを使う
Analog Devices の IP コアを使うAnalog Devices の IP コアを使う
Analog Devices の IP コアを使うryos36
 
Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記Yoshiyuki Nakamura
 
Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜
Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜
Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜Tatsuya Fukuta
 
Requestsで始める5分前帰社
Requestsで始める5分前帰社Requestsで始める5分前帰社
Requestsで始める5分前帰社Satoshi Yamada
 
PYNQ 祭り: Pmod のプログラミング
PYNQ 祭り: Pmod のプログラミングPYNQ 祭り: Pmod のプログラミング
PYNQ 祭り: Pmod のプログラミングryos36
 
phpstudy_php_to_node
phpstudy_php_to_nodephpstudy_php_to_node
phpstudy_php_to_nodeSuguru Shirai
 
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境10分でわかるPythonの開発環境
10分でわかるPythonの開発環境Hisao Soyama
 
Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流Kazuhiko Kato
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Takayuki Shimizukawa
 
Python & PyConJP 2014 Report
Python & PyConJP 2014 ReportPython & PyConJP 2014 Report
Python & PyConJP 2014 Reportgree_tech
 
M5StackにFPGAをつないでみた
M5StackにFPGAをつないでみたM5StackにFPGAをつないでみた
M5StackにFPGAをつないでみたKenta IDA
 
PYNQで○○してみた!
PYNQで○○してみた!PYNQで○○してみた!
PYNQで○○してみた!aster_ism
 
Bottle使ってPython学習一緒にはじめませんか?
Bottle使ってPython学習一緒にはじめませんか?Bottle使ってPython学習一緒にはじめませんか?
Bottle使ってPython学習一緒にはじめませんか?Tatsuya Shinozuka
 
UIbuilderを使ったフロントエンド開発
UIbuilderを使ったフロントエンド開発UIbuilderを使ったフロントエンド開発
UIbuilderを使ったフロントエンド開発Atsushi Kojo
 
IntelliJ IDEAで快適なPython生活
IntelliJ IDEAで快適なPython生活IntelliJ IDEAで快適なPython生活
IntelliJ IDEAで快適なPython生活敦志 金谷
 

What's hot (20)

RubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみたRubyエンジニアがPythonをdisるためにPythonを勉強してみた
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
 
Analog Devices の IP コアを使う
Analog Devices の IP コアを使うAnalog Devices の IP コアを使う
Analog Devices の IP コアを使う
 
Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記
 
Tfug20181105
Tfug20181105Tfug20181105
Tfug20181105
 
14対話bot発表資料
14対話bot発表資料14対話bot発表資料
14対話bot発表資料
 
Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜
Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜
Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜
 
Requestsで始める5分前帰社
Requestsで始める5分前帰社Requestsで始める5分前帰社
Requestsで始める5分前帰社
 
Choreonoid+ros
Choreonoid+rosChoreonoid+ros
Choreonoid+ros
 
191030 anna-with-python
191030 anna-with-python191030 anna-with-python
191030 anna-with-python
 
PYNQ 祭り: Pmod のプログラミング
PYNQ 祭り: Pmod のプログラミングPYNQ 祭り: Pmod のプログラミング
PYNQ 祭り: Pmod のプログラミング
 
phpstudy_php_to_node
phpstudy_php_to_nodephpstudy_php_to_node
phpstudy_php_to_node
 
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
 
Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門
 
Python & PyConJP 2014 Report
Python & PyConJP 2014 ReportPython & PyConJP 2014 Report
Python & PyConJP 2014 Report
 
M5StackにFPGAをつないでみた
M5StackにFPGAをつないでみたM5StackにFPGAをつないでみた
M5StackにFPGAをつないでみた
 
PYNQで○○してみた!
PYNQで○○してみた!PYNQで○○してみた!
PYNQで○○してみた!
 
Bottle使ってPython学習一緒にはじめませんか?
Bottle使ってPython学習一緒にはじめませんか?Bottle使ってPython学習一緒にはじめませんか?
Bottle使ってPython学習一緒にはじめませんか?
 
UIbuilderを使ったフロントエンド開発
UIbuilderを使ったフロントエンド開発UIbuilderを使ったフロントエンド開発
UIbuilderを使ったフロントエンド開発
 
IntelliJ IDEAで快適なPython生活
IntelliJ IDEAで快適なPython生活IntelliJ IDEAで快適なPython生活
IntelliJ IDEAで快適なPython生活
 

Similar to Pythonにおけるデバッガツールpdbについて

211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解するTakuya Nishimoto
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識Katsuhiro Morishita
 
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45civic Sasaki
 
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Developers Summit
 
Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...
Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...
Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...74th
 
160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBMToshiki Tsuboi
 
DartPad+CodePenで、Flutterを体験してみよう
DartPad+CodePenで、Flutterを体験してみようDartPad+CodePenで、Flutterを体験してみよう
DartPad+CodePenで、Flutterを体験してみようcch-robo
 
Django で始める PyCharm 入門
Django で始める PyCharm 入門Django で始める PyCharm 入門
Django で始める PyCharm 入門kashew_nuts
 
まったりAndroid framework code reading #1
まったりAndroid framework code reading #1 まったりAndroid framework code reading #1
まったりAndroid framework code reading #1 Shinobu Okano
 
runC概要と使い方
runC概要と使い方runC概要と使い方
runC概要と使い方Yuji Oshima
 
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Takashi Sogabe
 
Pythonでラズパイのgpio制御
Pythonでラズパイのgpio制御Pythonでラズパイのgpio制御
Pythonでラズパイのgpio制御artk saga
 
ミニ四駆でPython on Windows Azure
ミニ四駆でPython on Windows Azureミニ四駆でPython on Windows Azure
ミニ四駆でPython on Windows AzureTakahiro Fujiwara
 
20190920 hannaripython20
20190920 hannaripython2020190920 hannaripython20
20190920 hannaripython20Otazo Man
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Tomoya Hibi
 
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introductionMasahito Zembutsu
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱Koichi ITO
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementationsmasahitojp
 

Similar to Pythonにおけるデバッガツールpdbについて (20)

211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
 
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
 
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
 
Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...
Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...
Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...
 
160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM
 
DartPad+CodePenで、Flutterを体験してみよう
DartPad+CodePenで、Flutterを体験してみようDartPad+CodePenで、Flutterを体験してみよう
DartPad+CodePenで、Flutterを体験してみよう
 
SnapDishの事例
SnapDishの事例SnapDishの事例
SnapDishの事例
 
Django で始める PyCharm 入門
Django で始める PyCharm 入門Django で始める PyCharm 入門
Django で始める PyCharm 入門
 
まったりAndroid framework code reading #1
まったりAndroid framework code reading #1 まったりAndroid framework code reading #1
まったりAndroid framework code reading #1
 
runC概要と使い方
runC概要と使い方runC概要と使い方
runC概要と使い方
 
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
 
Pythonでラズパイのgpio制御
Pythonでラズパイのgpio制御Pythonでラズパイのgpio制御
Pythonでラズパイのgpio制御
 
C#で速度を極めるいろは
C#で速度を極めるいろはC#で速度を極めるいろは
C#で速度を極めるいろは
 
ミニ四駆でPython on Windows Azure
ミニ四駆でPython on Windows Azureミニ四駆でPython on Windows Azure
ミニ四駆でPython on Windows Azure
 
20190920 hannaripython20
20190920 hannaripython2020190920 hannaripython20
20190920 hannaripython20
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
 
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementations
 

Pythonにおけるデバッガツールpdbについて