Upload
masaaki-takasago
View
597
Download
8
Embed Size (px)
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 なので拡張も簡単