(ページの作成:「== リモートデバッグ時にローカルソースを参照してくれなくなったら == === リモートデバッグ機能 === * PDTにはできない、Zend...」)
 
 
23行目: 23行目:
 
* Edit Server ダイアログ > Path Mapping をすべて remove したところ、ローカルソースを参照してくれるように戻ってくれました。
 
* Edit Server ダイアログ > Path Mapping をすべて remove したところ、ローカルソースを参照してくれるように戻ってくれました。
 
* 今回は関係ありませんでしたが、Webブラウザのプラグインの設定 「Debug Local Copy」もチェックと思われます。
 
* 今回は関係ありませんでしたが、Webブラウザのプラグインの設定 「Debug Local Copy」もチェックと思われます。
 +
 +
[[Category:PHP]]
 +
[[Category:ZendStudio]]
 +
[[Category:開発ツール]]

2013年4月20日 (土) 22:45時点における最新版

リモートデバッグ時にローカルソースを参照してくれなくなったら

リモートデバッグ機能

  • PDTにはできない、Zend Studioだけの機能として、Webブラウザからのリモートデバッグ機能があります。
  • ブラウザ(IE/FireFox)にプラグインをインストールし、デバッガをセットしてあるWebサーバーにアクセスするだけでZend Studioが割り込み、ステップ実行や変数の参照ができます。
  • 普通(?)は、怪しいところにvar_dump、print_r、echo を仕込んだり、ログ出力して動きを確認すると思います。そしてそのコードを消し忘れてシステムテストで発覚するとか。。。
  • ソースにステップインしてデバッグできれば、元のソースを変更しないので余計な心配不要になります。

サーバーソース参照とローカルソース参照

  • ステップインするソースはどこから取得するのかを選べます。
    • サーバーソースの場合、実行中のソースをそのままサーバーからZend Studioへ転送されます。あらかじめソースを準備しておく必要は無いのですが、他のソースとの関連チェックが弱くなります。たとえば、動的にincludeされるclassなどの補完がききません。また、当然ですがソースの修正ができません。
    • ローカルにソースを準備しておけば、関連チェック・文法チェックもしっかりできますし、当然ソースコードの修正もそのままできます。
    • 通常、開発はローカルソースで行っています。ローカルといっても開発サーバー内のソースとリンクしていますが。

機能しない

  • 上記のように非常に強力なローカルソースによるリモートデバッグなのですが、ある日突然機能しなくなりました。厳密に言うとデバッグ機能自体は動作していて「サーバーソース」動作ということなのですが、非常に不便。
  • サーバーソースだと、該当のソースにたどり着くまでステップ実行していく必要があります。動的にファイルをincludeしていくフレームワークだと、大変です。ローカルソースなら予め確認したい位置にbreak pointをセットしておけるのでらくちんです。
  • これは困る。といことで、設定項目の海をさまよいました。


結論

  • Window > Preferences > PHP > PHP Servers > Edit
  • Edit Server ダイアログ > Path Mapping をすべて remove したところ、ローカルソースを参照してくれるように戻ってくれました。
  • 今回は関係ありませんでしたが、Webブラウザのプラグインの設定 「Debug Local Copy」もチェックと思われます。

facebook slideshare rubygems github qiita