首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
zxx
掘友等级
获得徽章 7
动态
文章
专栏
沸点
收藏集
关注
作品
赞
15
文章 15
沸点 0
赞
15
返回
|
搜索文章
最新
热门
源码分析go channel以及相关的操作
go version: 1.17 本文从源码层面分析channel是如何创建、发送、接收、关闭的。 找到源码位置 查看汇编代码: go tool compile -S -l -N main.go 输出
源码分析go调度器四: 非main goroutine的调度循环
本节的重点主要有: 非main goroutine如何返回到goexit的 mcall如何切换到g0继续执行的 调度循环 有如下代码 编译go build -gcflags "-N -l" -ldfl
源码分析go调度器三: main goroutine的执行
上一节创建好了main goroutine,并将其放入了allp[0]的runnext中,这一节分析main goroutine是如何被调度到cpu上执行的 执行完CALL runtime·newpr
源码分析go调度器二: main goroutine的创建
前一节schedinit完成了调度器的初始化,接下来会通过newproc创建一个goroutine来执行runtime.main函数 创建main goroutine asm_amd64.s:214
源码分析go调度器一: 调度器初始化
找到程序入口 go build main.go 后,用gdb,sudo gdb main (我自己是macos,不加sudo的话,gdb会卡死),并在gdb中执行info files找到可执行程序入口
dlv和gdb调试go的区别
调试go代码 go version: 1.16 system: Macos gdb gdb必须要build出可执行文件 go build -gcflags "-N -l" -ldflags=-comp
gdb 分析go函数栈帧
go version: 1.16 汇编指令 rip寄存器:存放的是CPU即将执行的下一条指令在内存中的地址。这个rip是CPU自动控制的,不用我们修改。 rsp栈顶寄存器和rbp栈基寄存器:rsp存放
go的启动流程
go版本: 1.17 使用goland以及gdb 1.找到程序入口 1.1先build出可执行程序 go build main.go 1.用gdb找到入口 sudo gdb main (我自己是mac
goroutine调度
go1.17 schedule永远不会返回 schedtick: incremented on every scheduler call 为了保证公平,这个P每61次执行goroutine就要从全局队
grpc-gateway使用
初始化项目 创建相关文件夹 编写proto 创建proto/hello.proto文件 $\color{#005bb7}{编译proto文件}$ 会在proto目录下生成hello.pb.go和hel
下一页
个人成就
文章被点赞
43
文章被阅读
26,285
掘力值
781
关注了
17
关注者
13
收藏集
29
关注标签
44
加入于
2019-12-10