我,子牙老师,一个手写过操作系统、编程语言、Java虚拟机、docker、Ubuntu系统,玩透Windows内核、Linux内核的…硬核男人
最近的我,有点销声匿迹的感觉,就有小伙伴跑来问我在折腾什么。在写自己的gdb调试器。已经写完了,录了个演示demo,感兴趣的可以看看
别人用GDB,子牙带你手写一个调试器调Linux内核!从源码层剖析Linux内核运行机制!
其实我做课程都是根据自己的需求及兴趣走的,研究明白了,代码写出来了,就顺便做成课程。我喜欢的,一定有其他人喜欢。我需要的,也一定有其他人需要
那我为什么要写一个自己百分百可控的调试器呢?gdb不够用吗?确实不够,gdb虽然功能大而全,但是很多功能我用不上,我想要的功能它又没有
比如gdb只能调试用户态程序,没办法窥视Linux内核中的数据,导致很多东西研究到内核层就走不下去了,得换其他方式,这样就导致调试一个程序,研究用户态跟研究内核态是割裂的,而我希望的是一站式解决。那如果没人写这样的调试器,我就自己来写
写调试器的另外一个原因,就是我对调试器充满好奇:它为什么这么强大?它为什么能控制一个程序的运行?断点是怎么回事?单步步入与单步步过是怎么实现的?调试多线程是怎么做到的?远程调试与串口调试又是如何实现的……一堆的问号需要找寻答案!
写完以后我发现,写一个调试器的价值远远不止这些。但是我又表达不准确那种感觉,于是我问了ChatGPT,它给的答案,非常全面!非常恰当!

接下来我为大家详细介绍最新研发的新课《从零手写调试器gdb》,真正的全网唯一,连书都没有!
谁适合学这个课
如果你也像我一样,在使用调试器调试程序的过程中,对调试器的底层实现充满好奇想找寻答案:断点是如何实现的、硬件断点与软件断点是怎么回事、单步步入与单步步过是怎么实现的、调试多线程的底层原理、控制程序运行的底层原理、读写内存的底层原理、读写寄存器的底层原理、远程调试的底层原理、串口调试的底层原来……这门课学完,所有疑惑全部解开!
如果你也像我一样,喜欢玩底层,想成为一名顶级黑客,希望有个调试器一站式解决调试一个程序的用户态与内核态,希望写一个自己百分百可控的调试器,这门课也非常适合你
如果你是以下这些,也可以

你能学到什么?
你能学到这些:
- 你就知道任何调试器的底层是如何实现的。思维打开了,你就能写任何平台的调试器!
- 真正掌握Linux进程机制:进程线程状态控制、信号机制、exec启动流程、上下文切换、多线程调试原理……
- 真正掌握调试器核心技术:设置断点、单步执行、寄存器操作、栈帧分析、内存读写、远程调试……
- 真正掌握Linux系统中的可执行文件:ELF文件结构、根据函数名查内存地址、变量定位、调试信息解析……
- 真正掌握调试器C语言代码源码级调试能力
- Linux内核驱动开发新玩法:借助Linux内核驱动,绕过权限限制,读取任意进程内存、解析页表、获取 CR3、设置断点,掌控整个系统的运行状态

一句话总结:学完以后,你就可以将机器码、汇编、C语言、可执行文件、进程、操作系统融会贯通了,计算机这个行业,你的技术实力遥遥领先于他人,你学任何技术都快于他人,理解的深度也远远在他人之上,就是那种高手云淡风轻的感觉!
学这个课需要什么基础?
很多人一想到写调试器,那得多难啊!也没那么夸张,我给大家说说,让大家找回信心
在这里我特别想讲一段话:我们每个人出身下来都是一无所知的,走着走着,差距就出来了,抛开很多客观因素,我觉得自身的主观因素其实占主要。我做课程的路上,遇上很多想学,但是怕这怕那的人:是不是很难、学起来是不是很累、我能不能学得会……
你可能不信,我是学文的,我都能把计算机学到这个程度。我觉得我能走到今天,就是我认定了一件事情如何一定要做,那不管多苦多累我都会坚持下去,直到做到为止!我创业失败过4次,12年时间,这是第5次,才成功
需要这些基础,这些基础,有更好,没有也没关系,课程里都会教:
1、用过用户态调试器调试程序
2、用过内核态调试器调试操作系统内核,比如windbg、kdbg
3、调试器底层原理
4、C语言+汇编
5、Linux环境编程
6、Linux网络编程
7、Linux内核知识
有的小伙伴可能心想:要学这么多吗?不是要学这么多,是要懂这么多。大家都知道AI现在有多强大,未来会有多强大,如果你的技能还只是表面上的那些,未来真的岌岌可危。趁着AI还没有完全取代程序员的时候,赶紧提升自己的技术实力,领先于他人
AI时代,我觉得会出现强者更强的局面:60分的人+AI,可能能到80分。90分的人+AI,可能能到200分。AI我们都可以用,但是我的很多课程,是借助AI做出来的,因为我对计算机这个行业的认知足够广足够深,AI让我没有边界束缚!
老师是谁?
可能有人不了解我,简单做个自我介绍
我是子牙老师,大厂P8技术专家、JVM专家,将汇编、C语言、操作系统融会贯通,对Windows内核、Linux内核、Java虚拟机hotspot源码有深入研究
我不做应用层的课程,我只做底层硬核课程,那些大家想学没地方学的课程,那些只能出国留学才能学到的课程:手写JVM、手写操作系统、动手撸Linux内核、基于Linux内核写操作系统、给Linux内核写一个文件系统、手写编程语言Python、手写调试器gdb、CPU虚拟化……
我为什么能做到这些,因为我早些年师从瑞幸杀毒技术专家唐老师,就是逆向圈很出名的昆山滴水的创始人。云手机厂商红手指,就是唐老师跟我的师兄们创办的,他们已经把公司卖给百度,套现走人了
课程详情
来看看详细的课程大纲

大纲中的所有功能,我已经全部实现

代码分支与课程节奏一一对应,方便你学习。代码写了4版,我才真正满意!

来看下核心代码

不论是技术研究上,还是底层硬核技术的教学上,我还算有点天赋,来看看大家对我课程的评价


真心做教育,践行“子牙出品,必属精品”
如果你想更多了解我,欢迎去我个人简介,获取我之前的文章及我的奋斗历程。白手起家程序员的职场心得,应该会对你有很大启发。
4838

被折叠的 条评论
为什么被折叠?



