掲示板一覧   -   トピック一覧
   Enterprise Architect 全般
     PHPのデバッグがうまくいかない


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
tkouno
投稿日時: 2011-7-13 11:52
EA Administrator
投稿: 3939

PHPのデバッグがうまくいかない

サポート宛に頂きましたご質問の要約です。

○ご質問

PHPのデバッグ・シーケンス図の生成機能を試しているのですが
うまくいきません。
どのようにすればよいでしょうか?

環境はXAMPPです。

○回答

お客様から多くの情報を頂き、以下の設定を変更することで
解決できました。

・localpathとremotepathの設定
・php.iniを変更し、XDebugが動作する設定にすること

上記XAMPP環境におけるphp.iniファイルの設定例が必要な場合には
サポート宛にご連絡ください。
(サポートが有効な方へのご提供となります。)


○補足:localpathとremotepathについて

localpathとremotepathの設定は、実行されているPHPファイルと、
UMLモデルとして読み込まれたクラス要素との関連づけのために
利用する情報です。

具体的には、実行されるPHPファイルに対して、remotepathの値を利用して
ファイルの相対的な位置を取得します。
さらに、localpathの値を利用して、その相対的な位置から、ローカルマシンに
あるPHPファイルの絶対パスを確定します。
そして、その絶対パスと、Enterprise Architectに読み込まれたクラスとを
関連づけています。

例えば、Apacheで、
//MyPC/MyShare/apache/myapp/scripts/hoge.php
の位置にファイルがある場合に、これを
c:\myshare\apache\myapp\scripts\hoge.php
に変換するというために利用しています。
(Enterprise Architectでは、クラス図のクラス要素には、ローカルマシンの
絶対パスが関連づけられ、クラス要素とソースコードを一致させています。)

ですので、これらの値が正確ではない場合には、ブレークポイントを設定した
位置が確定できません。具体的には、デバッグの実行時に、「ブレークポイントと
マーカーサブウィンドウ」(メインメニューからは動作解析→ブレークポイントと
マーカー)に表示されるアイコンが「?」マークになる場合、これらの値が
適切に設定されておらず、ブレークポイントの位置が確定できていません。
(ただし、「?」マークは、対象のモジュールがデバッグ対象として読み込まれていない場合にも
表示されます。PHPのデバッグを実行した直後は、正しく設定されていても
 「?」で表示されます。今回の例では、この点をお伝えすることが漏れており
 余計な手間をおかけしてしまいました。申し訳ございません。)


具体的なlocalpathとremotepathの設定の例についてはヘルプファイルに
書かれていますが、この例と上記の説明にあるように、リモートのファイルと
ローカルの絶対パスが変換できる、つまり、同じ位置を指していることが重要です。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ