Dead Zone

Stand alone.

[eclipse pdt] NAT越しのリモートデバッグ

2007-01-23 15:10:12 | 雑記
というわけで(?)ちょっと調べてみました(^^;)

PDTは(少なくとも現時点では)NATを越えてのリモートデバッグはできません。

デバッグ時のURLを見ると判るように、PDTはデバッグ用の制御情報を全部URLにくっつけて(クエリ文字列で)Webサーバに送りつけています。デバッグ端末のIPアドレスもdebug_host=の後に列挙しています。デバッガはこのIPアドレスとポート番号を頼りにデバッグセッションを開始しようとするので、IPアドレスを変換してしまうNATには対応できません。

言い換えると…ここに適切なIPアドレスを突っ込んでやれば、NAT越しでもリモートデバッグはできるということで…
Zend Studioにはそういう設定項目があるようですが、PDTにはありません。ので、「CVSからソースをダウンロードして修正し、プラグインを作成して差し替える」ことになります。
修正ファイルは、
org.eclipse.php.core.util.HostsCollector
で、getHosts()に
allIPs.add(InetAddress.getByAddress(new byte[]{(byte)192,(byte)168,0,1}));
とかルータのIPを追加してやるだけです。いいんです。自分用だからベタな埋めこみで(^^;)
一応VMwareのNAT環境でリモートデバッグできることは確認しました。

最初、ソース修正しなくても仮想LANアダプタでもインストールしてIPアドレスとしてルータIPを設定してやればPDTを騙せるんじゃなかろうかと思ったのですが、そういう都合の良い仮想LANアダプタソフトが見つからなかったので、結局ソース修正に走りました(爆)

このNAT越えができない件は、Zend Studioとの差別化なのかそれとも単なる手抜きなのかわかりませんが、Bugzillaで機能追加要望を出せば入れてくれそうな気がしないでもないです。

参考ページ
Zend製品/Zend Studio FAQ/デバック - ゼンド・ジャパン株式会社 技術情報コンテンツ
『ソフトウェア』 ジャンルのランキング
コメント (2)   この記事についてブログを書く
この記事をはてなブックマークに追加
« [eclipse pdt] I20070111 | トップ | [eclipse pdt] 検索結果がハ... »

2 コメント

コメント日が  古い順  |   新しい順
Unknown (admsmith777)
2007-01-31 00:20:12
こんばんわ、リモートディバックの件調査していただけたのですね ^^
そして、やはりURL に含まれているIP に対してセッション張るんですね。当然NAT 超えは無理なはずです。

私はソースを読むまでの力はないので解析し、パッチを作成することはできませんが、この記事、非常に参考になりました!PDT の今後に期待したいと思います。

Unknown (atlanto)
2007-01-31 15:29:06
ホント今後に期待、ですね。現時点では基本的な機能しかないし(後発なのに^^;)まだまだ細かいバグがたくさん…。正式リリースは9月の予定(ずいぶん先だなぁ)なので、それまでには機能充実を図ってもらいたいなと思います。頑張れZend!^^

コメントを投稿


コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。

あわせて読む

トラックバック

この記事のトラックバック  Ping-URL
  • 30日以上前の記事に対するトラックバックは受け取らないよう設定されております。
  • 送信元の記事内容が半角英数のみのトラックバックは受け取らないよう設定されております。
  • このブログへのリンクがない記事からのトラックバックは受け取らないよう設定されております。
  • ※ブログ管理者のみ、編集画面で設定の変更が可能です。