Closed qingdi closed 1 year ago
跟你一样的问题。困扰很久了。各种环境都试了,都会崩掉,:( ,我是phpsotrm+yasd+php8.0
不知道其它用swoole开发项目的人是怎么调试的,难道都是一用yasd的命令行模式一个一个命令打出来的?
还是根本就没用yasd扩展,直接代码里一路的echo var_dump print来调试?
跟你一样的问题。困扰很久了。各种环境都试了,都会崩掉,:( ,我是phpsotrm+yasd+php8.0 不知道其它用swoole开发项目的人是怎么调试的,难道都是一用yasd的命令行模式一个一个命令打出来的? 还是根本就没用yasd扩展,直接代码里一路的echo var_dump print来调试?
我也是各种都试了,我是php8.1 + swoole5.0 + hyper3.0 没有调试工具写代码太蛋疼了
可以考虑PHP升级后使用 swoole-src的 xdebug分支,https://github.com/swoole/swoole-src/tree/support-xdebug 可以直接使用xdebug进行调试,前提是PHP版本要大于等于8.1
@summerKK 刚好你是php8.1的,你可以试试
@summerKK 刚好你是php8.1的,你可以试试
大佬,我测试了一下是可以使用的
在hyperf2
测试的时候会有一个notice
级别的错误 : Using Xdebug in coroutines is extremely dangerous, please notice that it may lead to coredump!
在hyperf3
测试这个错误是fatal
级别的错误
然后我把swoole
里面那行检测去掉后,重新编译后就可以完美运行了
既然php8.1
以后swoole
支持xdebug
,这里是不是加个版本判断,大于8.1的,不检测xdebug
我的环境是php8.1 + swoole5.0.1(support-xdebug)
xdebug是3.1.1
@summerKK 刚好你是php8.1的,你可以试试
大佬,我测试了一下是可以使用的
- 在
hyperf2
测试的时候会有一个notice
级别的错误 :Using Xdebug in coroutines is extremely dangerous, please notice that it may lead to coredump!
- 在
hyperf3
测试这个错误是fatal
级别的错误- 然后我把
swoole
里面那行检测去掉后,重新编译后就可以完美运行了- 既然
php8.1
以后swoole
支持xdebug
,这里是不是加个版本判断,大于8.1的,不检测xdebug
- 我的环境是
php8.1 + swoole5.0.1(support-xdebug)
你用的是哪个swoole-src分支,support-xdebug这个分支在php大于等于8.1的情况下是不会抛出这个xdebug告警的
是这个分支
在PHP8.1的情况下,才会定义宏SWOOLE_COROUTINE_MOCK_FIBER_CONTEXT
xdebug是3.1.1
xdebug可以考虑用最新的
在PHP8.1的情况下,才会定义宏SWOOLE_COROUTINE_MOCK_FIBER_CONTEXT
是我的问题,拉的代码拉到master了 😂😂😂😂😂😂😂
嗯嗯,master分支的swoole,xdebug调试的时候,调用栈是乱的,而且还可能会发生coredump
@huanghantao @summerKK 非常感谢,百忙之中提供这个问题的解决方案, 我也尽快尝试把项目升级到8.1。
嗯嗯,master分支的swoole,xdebug调试的时候,调用栈是乱的,而且还可能会发生coredump
重新编译后,运行正常 非常感谢 周末愉快~ 😉😉😉😉😉
@huanghantao @summerKK 非常感谢,百忙之中提供这个问题的解决方案, 我也尽快尝试把项目升级到8.1。
老哥,提不上感谢,我就测试了一下 我写代码重度依赖xdebug,没有这个感觉不会调试了😂😂😂😂😂 升级php版本可以考虑一下 : https://github.com/rectorphp/rector
请帮忙看下。多谢
php@7.3 boost@1.76 yasd `yasd
Yasd => enabled Author => codinghuang codinghuang@qq.com Version => 0.3.9-alpha Built => Nov 9 2022 14:33:02
Directive => Local Value => Master Value yasd.breakpoints_file => no value => no value yasd.debug_mode => remote => remote yasd.remote_host => 127.0.0.1 => 127.0.0.1 yasd.remote_port => 9003 => 9003 yasd.depth => 1 => 1 yasd.log_level => -1 => -1 yasd.max_executed_opline_num => 0 => 0 yasd.init_file => no value => no value yasd.open_extended_info => 0 => 0 xdebug.coverage_enable => 1 => 1 xdebug.profiler_enable => 1 => 1 xdebug.remote_autostart => 1 => 1 xdebug.remote_connect_back => 0 => 0 xdebug.remote_mode => req => req xdebug.idekey => hantaohuang => hantaohuang `