BR 技术头条 技术链接、资讯与社区分享流
cn www.cnxct.com / 2024-01-17 23:12 / by @技术头条 / 原作者:@CFC4N

golang uretprobe的崩溃与模拟实现

打开原文 喜欢 0 请先微博登录后参与 0 条评论
本机暂存
Go程序崩溃的核心原因为Go的栈在runtime管理时,被插入了异常的内存地址。Go中常见的堆栈变化为协程goroutine的创建与销毁。栈内 被插入异常内存地址是因为eBPF的实现机制是向函数的返回地址前,插入了断点指令(i386和x86_64是INT3)。 两个条件的叠加,就出现了这个错误。

发表评论

请先微博登录后参与