Devel::ptkdb
perlをグラフィカルにデバッグする
Twitter : @sago35tk
Masaaki Takasago
2015/08/08
use Kansai::Tiny v0.0.1
自己紹介
 Name => ‘Masaaki Takasago’;
 主な使用言語は、CとPerlと最近Golang
 車載組込ソフトウェアエンジニア
 仕事ではC言語が中心
 車1台あたり、多いと100以上のコンピュータがあり・・・(略)
 マイコンで遊んだり
 改善ツールはPerlで書くことが多い
 例1) Buildログの解析
 例2) ソースの静的解析
 Kansai.pm参加は1度だけ
 @miyagawa さんによるPlaggerの説明があった回 (2006年)
ジュースは撮影用です
今日話す内容
 Perlをグラフィカルにデバッグする方法について
 初心者向け
 ちょっと確認したい時のために
 コードを読み解くヘルプとして
 Windowsユーザ向け
 資料作成時の環境は、Win7 + strawberry perl 5.16.3
Perlでデバッグする方法いろいろ
 みんな大好きPrintfデバッグ
 Perl –d によるCUIベースのデバッグ
 Eclipse + EPICプラグイン
 Padre
 Test::* でテストを書く
ー 難易度 使いやすさ 備考
Printf ◎ × ソースを直接書き換えるのが問題
Perl –d × △ CUIベースで操作がマニアックかつ面倒
Eclipse +
EPIC
○ × 値の書き換えが困難&IDEがとても重い
Padre - -
便利そうなんですが、Win32では使用可
能なPerl Versionに制限あり
Test::* ○ △ ちょっとした確認には向かない
Devel::ptkdb
 Devel::ptkdbとは
 インストール
 使い方
 普段のPerl実行に対し、-d:ptkdbオプションを追加するだけ
$ cpanm –v Devel::ptkdb
$ perl –d:ptkdb target_scripts.pl arg1 arg2
ptkdb is a free/open source debugger for Perl with graphical user
interface (GUI) based on Perk/Tk.
ptkdb is able to run on almost any operating system.
http://search.cpan.org/~aepage/Devel-ptkdb/ptkdb.pm
ちょっとだけpatch
 Devel::ptkdb 1.1091に対し、以下を修正
 日本語が化ける
 各行の末尾が削られる
Win32の時は無条件に末尾文字を削除してい
たのをCRLF⇒LFに変更
Win32の時は無条件に末尾文字を削除してい
たのをCRLF⇒LFに変更
とりあえず、utf8前提としてdecode
実際の例
 マウスからブレークの設定(行番号をクリック)ができる
 ソース全体を見つつデバッグできる
Demo
まとめ
 直感的に利用できるのでお勧め
 動作が軽い
 GUI
 普段のPerl実行に対し、-d:ptkdbオプションを追加するだけ
 Perl/Tkなので拡張も簡単

Devel ptkdb - perlをグラフィカルにデバッグする