skynet Debug 断点调试

资源使用教程

Ubuntu 20.4 skynet项目我都是使用ubuntu系统。 debug断点调试需要先了解 skynet的基础编译。
相关资源文件地址 :https://download.csdn.net/download/qq_41190746/88946217
需要java 版本大于等于1.8,可以通过命令sudo apt install default-jdk安装java。平常不用可以禁用插件,重启vscode,因为java会占用500M左右内存。 java和vscode插件都是安装在远程服务器中。需要先了解windows使用vscode ssh连接基础常识。

1.启动skynet config配置 debug_ipdebug_prot 改为frog_debug_ip 和 frog_debug_port
启动skynet config配置
2.vscode插件安装,插件需要java环境可以通过sudo apt install default-jdk安装java在这里插入图片描述3.对应vscode launch.json配置在这里插入图片描述4.进行远程调试之前,保证服务已经启动。且只启动一个对应文件的服务。在这里插入图片描述
rlwrap nc 127.0.0.1 8000 可以通过 apt insatll rlwrap 安装
上面的例子需要先了解 skynet debug conso的简单使用
教程例子1:https://www.cnblogs.com/hanxi/p/14846365.html
教程例子2:https://blog.csdn.net/qq_52678569/article/details/134528283
list 命令查看准备调试的服务是否启动
然后设置断点
call 命令测试触发断点

service_snlua.c
450行
// debug 调用 addLuaState 函数
	addLuaState(l, optstring(ctx, "frog_debug_ip", NULL), optstring(ctx, "frog_debug_port", NULL));
//

void addLuaState(struct snlua *l,const char *debug_ip,const char * debug_port)
{
 	1> 没配置 frog_debug_ip,frog_debug_port 直接return
 	2>const char *lua_dofunction = "function snlua_addLuaState()\n"
        "local dbg = require('frog_debug')\n"
        "dbg.startDebugServer('%s', %d)\n"
        "dbg.addLuaState()\n"
        "end"
        "";
      sprintf(loadstr, lua_dofunction, debug_ip, port);
   	3> 调用frog_debug。lua_getglobal(l->L, "snlua_addLuaState");
}

具体实现见相关资源地址

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Skynet Debug是指对Skynet系统进行调试和排错的过程。Skynet是一个开源的高性能分布式游戏服务器框架,为开发者提供了一套简单易用、高效稳定的游戏服务器解决方案。 在进行Skynet Debug时,首先需要通过查看系统日志来定位问题。Skynet系统会记录各个模块的运行情况和错误信息,开发者可以通过这些日志信息来判断是否有错误发生,并定位出错的位置。 其次,开发者可以使用调试工具来进行线上调试。Skynet提供了丰富的调试工具,比如skynet.abort函数可以在运行时终止服务,并打印出完整的调用栈信息,帮助开发者快速定位错误。此外,还可以使用skynet.trace函数跟踪消息的传递流程,观察各个模块之间的交互情况,以找出可能存在的问题。 另外,对于一些复杂的问题,开发者还可以使用代码注入的方式进行调试。Skynet提供了插件机制,可以动态加载自定义的模块,并在运行时注入代码,以修改或监控系统运行过程中的一些关键点,帮助开发者检测潜在的问题。 在调试过程中,需要注意一些常见的问题。比如,可能因为不同模块间的消息传递顺序不一致而导致问题;还可能出现资源泄露或内存溢出等问题;另外,网络通信的稳定性和数据传输的正确性也需要关注。 总之,Skynet Debug是开发者对Skynet系统进行调试和排错的重要过程,通过使用系统日志、调试工具以及代码注入等方法,可以帮助开发者定位问题并解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值