解決したい現象
PHPStormからPHPUnitテストをデバック実行すると、Break at first line in php scriptでは、ブレークできるのですが、それをStep OutするとPHPStormのデバック実行が下記画像のようにリモートからのレスポンスを待機しているような状態から動かなくなります。
この状態を、PHPStormで問題無くステップ実行できる解決方法をご教示頂きたいです。
ちなみに別のXdebugクライアントである、MacGDPpでListenしておき、PHPStormでPHPUnitテストを通常実行すると、MacGDPpで各ブレークポイントで止めることができ、Step Out等のステップ実行も問題無くできます。
xdebug.remote_log
Break at first line in php scriptの時の最後のレスポンスLog
[1] [1] <- context_get -i 17 -d 0 -c 2 [1] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="context_get" transaction_id="17" context="2"></response> [1]
その後 Step Outした時に追加されるLog
[1] <- step_out -i 18 [1] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="step_out" transaction_id="18" status="break" reason="ok"><xdebug:message filename="file:///var/www/html/laravel/tests/Feature/ExampleTest.php" lineno="19"></xdebug:message></response> [1]
リモートからのレスポンスを待機している時のPortの状態
リモート環境
docker for mac で php:7.2-fpm イメージにXdebug v2.7.1を追加しています。
WEBサーバーはありません。
Xdebugの設定
xdebug support => enabled xdebug.auto_trace => Off => Off xdebug.cli_color => 0 => 0 xdebug.collect_assignments => Off => Off xdebug.collect_includes => On => On xdebug.collect_params => 0 => 0 xdebug.collect_return => Off => Off xdebug.collect_vars => Off => Off xdebug.coverage_enable => On => On xdebug.default_enable => On => On xdebug.dump.COOKIE => no value => no value xdebug.dump.ENV => no value => no value xdebug.dump.FILES => no value => no value xdebug.dump.GET => no value => no value xdebug.dump.POST => no value => no value xdebug.dump.REQUEST => no value => no value xdebug.dump.SERVER => no value => no value xdebug.dump.SESSION => no value => no value xdebug.dump_globals => On => On xdebug.dump_once => On => On xdebug.dump_undefined => Off => Off xdebug.extended_info => On => On xdebug.file_link_format => no value => no value xdebug.filename_format => no value => no value xdebug.force_display_errors => Off => Off xdebug.force_error_reporting => 0 => 0 xdebug.gc_stats_enable => Off => Off xdebug.gc_stats_output_dir => /tmp => /tmp xdebug.gc_stats_output_name => gcstats.%p => gcstats.%p xdebug.halt_level => 0 => 0 xdebug.idekey => PHPSTORM => PHPSTORM xdebug.max_nesting_level => 256 => 256 xdebug.max_stack_frames => -1 => -1 xdebug.overload_var_dump => 2 => 2 xdebug.profiler_aggregate => Off => Off xdebug.profiler_append => Off => Off xdebug.profiler_enable => Off => Off xdebug.profiler_enable_trigger => Off => Off xdebug.profiler_enable_trigger_value => no value => no value xdebug.profiler_output_dir => /tmp => /tmp xdebug.profiler_output_name => cachegrind.out.%p => cachegrind.out.%p xdebug.remote_addr_header => no value => no value xdebug.remote_autostart => On => On xdebug.remote_connect_back => Off => Off xdebug.remote_cookie_expire_time => 3600 => 3600 xdebug.remote_enable => On => On xdebug.remote_handler => dbgp => dbgp xdebug.remote_host => docker.for.mac.localhost => docker.for.mac.localhost xdebug.remote_log => /tmp/xdebug.log => /tmp/xdebug.log xdebug.remote_mode => req => req xdebug.remote_port => 9001 => 9001 xdebug.remote_timeout => 200 => 200 xdebug.scream => Off => Off xdebug.show_error_trace => Off => Off xdebug.show_exception_trace => Off => Off xdebug.show_local_vars => Off => Off xdebug.show_mem_delta => Off => Off xdebug.trace_enable_trigger => Off => Off xdebug.trace_enable_trigger_value => no value => no value xdebug.trace_format => 0 => 0 xdebug.trace_options => 0 => 0 xdebug.trace_output_dir => /tmp => /tmp xdebug.trace_output_name => trace.%c => trace.%c xdebug.var_display_max_children => -1 => -1 xdebug.var_display_max_data => -1 => -1 xdebug.var_display_max_depth => -1 => -1
PHPStormの設定
Debug portは9001でxdebug.remote_portと合っています。
あなたの回答
tips
プレビュー