このvimプラグインhttps://github.com/ludovicPelle/vim-xdebug with xdebugを使用しています
Xdebug と vim プラグインは、通常のスクリプトで正常に動作しています。ステップスルーして変数を出力できます。
基本的な単体テストをステップ実行しようとすると、問題なくブレークポイントに到達して停止し、コードをステップ実行できますが、変数の内容を表示できなくなります。
これを非常に基本的な単体テストで機能させようとしています
class testClass extends \PHPUnit_Framework_TestCase
{
public function testSomething()
{
$a = 5;
$b = 6;
$c = 7;
}
}
メソッドの最後まで進んで $a の内容を出力しようとすると、次のエラーが発生します。
13 : send =====> property_get -i 13 -d 0 -n a
13 : recv <===== {{{ <?xml version="1.0" encoding="iso-8859-1"?>
<response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="property_get" transaction_id="13" status="break" reason="ok"><error code="300"><message><![CDATA[can not get property]]></message></error></response>
}}}
response status=break xmlns=urn:debugger_protocol_v1 xmlns:xdebug=http://xdebug.org/dbgp/xdebug reason=ok command=property_get transaction_id=13
error code=300 : Can not get property (when the requested property to get did not exist, this is NOT used for an existing but uninitialized property, which just gets the type "uninitialised" (See: PreferredTypeNames)).
message
can not get property
コンテキスト全体を出力すると、3 つの変数が次のように表示されます。
$command = 'context_get';
a = /* uninitialized */'';
b = /* uninitialized */'';
c = /* uninitialized */'';
phpunit がテスト クラスのメソッドを実行するときにいくつかの興味深いトリックを実行することを知っているため、デバッガーがメソッド内の変数を返さないのはそのためかもしれません。どんな提案でも大歓迎です、ありがとう。