colin

Results 24 comments of colin

我更新了代码,支持设置工作目录,具体看这里的README说明 skynet debugger 也上传最新版本了,应该可以升级上去使用。 不能直接在命令行启动调试

你可以对比一下colinsusie/skynet,其实并没有修改skynet的代码,只是在外部增加了3个Lua服务,唯一增加的就是在skynet.lua的注入debug框架。 你也可以这样做:把colinsusie/skynet变化的部分合并到你们的工程中去。

在preload增加预加载脚本确实可以在重载skynet.start,但是没有办法重载skynet.lua里面的局部函数,你看看skynet.lua的注入代码: ```lua -- vscode debug local vscdebug = require "skynet.vscdebug" vscdebug.init(skynet, { suspend = suspend, resume = coroutine_resume, }) ``` 它需要suspend和coroutine_resume这两个局部函数,所以只能像skynet自带的debug.lua那样,注入到skynet.lua。 看一下skynet.lua就明白了。

我预计skynet应该不会有大的修改了,像这两天的小BUG提交,我都有merge过来的。 另外这个调试功能需求是比较明确的,只会修改小BUG,所以。。。

你试试将下面这两个换成绝对路径看看行不行: "program": "${workspaceFolder}/framework/skynet", "config": "./examples/config_vsc"

奇怪了,我按你的路径配置是可以启动调试的 "program": "${workspaceFolder}/framework/skynet", "config": "./examples/config_vsc" 请问你用VSCode打开的根目录是什么,我的根目录是: /home/colin/myproj 目录结构是: ``` myproj/ framework/ skynet/ test.lua ``` 不能调试很大可能是${workspaceFolder}这个指向不对。

config_vsc 这份配置是专门用在VSCode调试用的,不能用命令行跑config_vsc,因为这两个变量: ``` vscdbg_open = "$vscdbg_open" vscdbg_bps = [=[$vscdbg_bps]=] ``` 是vscode传给skynet 的,你用命令行就没有这两个变量,所以会启动失败。你必须用vscode的F5启动skynet。 调试和正式环境应该使用两份config,不要共用一份。正式环境中不要有`vscdbg_open`, `vscdbg_open`,`logger`这些,具体参考skynet其他的config写法。

或者你直接fork我这边的看看能不能F5调试,再看看和官方的skynet的有哪些差异?

你的系统里有cjson是吧?有可能是cjson的版本问题。

请问你是什么系统,如果是Mac的话,可以到这个目录: ~/.vscode/extensions/colinsusie.skynet-debugger-x.x.x/bin/macosx 这里有一个debug.log文件,可以看到错误代码 如果是Linux系统则是这个目录: `~/.vscode/extensions/colinsusie.skynet-debugger-x.x.x/bin/linux/` 如果是Windows下远程打开Linux的话,在这个目录: ~/.vscode-server/extensions/colinsusie.skynet-debugger-x.x.x/bin/linux/