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

Preview:

Citation preview

Devel::ptkdbperl をグラフィカルにデバッグする

Twitter : @sago35tkMasaaki Takasago

2015/08/08use 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 なので拡張も簡単

Recommended