Eclipse+PDTでXdebugの時external browserでFirefoxの設定がMacではイケテない件
最近仕事でEclipse+PDTでPHPを改造する仕事が多い。
本当はAptana Studio何だが基本一緒。
で、昔は一から自分で全部設計して構築する仕事が多かったんで、基本的には環境的にも自分のコードだしあんまり作りを解析する必要もないし、ブラウザ上でのデバッグ表示や基本はログでのデバッグ表示等で十分事足りていた。今でも自分で一から作るんならそれは変わらないだろうな、スピード的にも。
で、今の本職のお仕事はあるPHPのパッケージプロダクトをカスタマイズや改造する仕事で、どうしても改造やカスタマイズをするにあたってそのソースコードの挙動を細かく追わなければいけない事情が出てきた。
そこで思いついたのが昔やっぱある既存SNSのコードを追う際に良く使っていたXdebugだった。
基本、VisualStudioとかXcodeとかIDEでステップで追うのは慣れていたし、Cのソースコードを追う際はよくgdb使ってたものでこういうPHP環境でもステップ毎に挙動を追えるのは大変助かる。
で、会社でXdebug使って結構効率が上がってるんで家でも自分のプライベートで関わってるプロジェクトに使おうとおもって導入したら、家の環境がMacなんで少しはまりました。
EclipseとかAptana StudioでXdebugでデバッグするときに、いちいちIDE内蔵のブラウザでやる人はあんまりいないと思う。表示域的にもレイアウト的にもそれはない。やっぱ外部ブラウザを使ってデバッグクライアントを起動させるのが常道だろう。POSTの画面遷移とかもデバッグしやすいし。
で、環境設定で外部ブラウザがデフォルトで内蔵の奴になってるんでそれをデフォで入っているFirefoxに変えます。
するとデバッガをIDEで起動した際に設定で指定したURLとファイルでFirefoxを起動してくれるというわけです。
設定では単にFirefoxへのパスが書いているだけなんでシンプルなもんです。会社のWindowsでは問題なくこれでデバッグ出来てました。
で、家のMacなんですけど、MacのEclipse(Aptana Studio)ではデフォでFirefoxのパスが、
“/Applications/Firefox.app/Contents/MacOS/firefox-bin”
になっています。
“/Applications/Firefox.app”
ではダメです。Eclipseはバイナリの実体を指定しないとダメみたいでappの下を掘らないとイケないわけです。
で、Macご存知の片はわかるんだと思うんですが、これだと新たにFirefoxのインスタンスを立ち上げてしまうんです。
しかも起動時に、既にFirefoxのインスタンスが立っているから立てられない、みたいなアラートが出てしまいます。
いちいちインスタンスとウィンドウを立ち上げるのも、アラートが出るのも嫌ですねー。。
で、こうすれば解消します。:q
環境設定で、「General」の「Web Browser」から(僕英語版のまま使ってるんで日本語化してる人は読み替えてね)新規外部ブラウザをNewをクリックして追加します。するとダイアログが立ち上がります。そこに外部ブラウザの「名前」と「Location」(バイナリへのパスね)と「Parameters」(コマンド引数)を入れられます。そこに下記のように入れれば吉です。
Name ; 任意
Location ; /usr/bin/open
Parameters ; -a /Applications/Firefox.app %URL%
Mac少し知ってる人ならなるほどー、なんでしょうが。
これで既存に立ち上がってるFirefoxのタブとしてデバッグページが立ち上がってくれます。(Firefoxのタブの設定等にもよるだろうけど)
もちろんこれを応用すれば他のブラウザでもOKっすね。
簡単なTipsでした。