关于游戏同步的二三事

网络游戏同步法则

定义
通常来说的状态同步,即狭义上的状态同步,即在状态发生变化时将变动的数据同步给客户端
所谓帧同步其实是指以一帧数据为单位进行同步,但是通常来说我们认为的帧同步是 锁定帧同步(或者变种)
那么广义上来说,其实存在既是帧同步又是状态同步,即以帧为单位的状态同步

Read more

Strace

Strace是Linux环境下用于调试诊断应用程序调用systemcall的工具。

由于Strace只检测系统调用,因此Strace只是一个分析的侧面。
例如:命令perl -e 'while(1){}'不会产生任何系统调用

系统调用包括以下几个方面file, process, network, signal, ipc, desc, 默认将检测所有系统调用即all

Read more

关于Core dump(核心转储)

core dump是程序运行时,在进程收到某些信号而终止运行时,将此时进程地址空间的内容以及有关进程状态的其他信息写入一个磁盘文件。

对应会产生core dump的信号

Signal Action Comment
SIGQUIT Core Quit from keyboard
SIGILL Core Illegal Instruction
SIGABRT Core Abort signal from abort
SIGSEGV Core Invalid memory reference
SIGTRAP Core Trace/breakpoint trap

我们可以通过使用gdb查core dump文件,最后崩溃时的信息,来进行debug
为了更好的查看阅读core dump文件, linux下需要进行以下配置

Read more

Lua 源码中 l_likely, l_unlikey 是什么意思

最近在排查c++程序内部调用lua_pcall时产生C stack overflow异常,
研究问题时发现lua源码中存在一些likely调用,其实在其他代码中也见到过类似的调用,
那么我们今天就来探究一下它到底是什么逻辑

Read more

关于Git

Git命令解释,假设你是<<异世界好哥哥历险记>>的编剧,咱们组使用阿里云盘对剧本压缩包保存方便随时随地可以在任意地方写作

Read more