<aside>
💡 本期讨论活动已结束,更多有意思的活动和分享,欢迎关注 0xFFFF 网站 和群聊
</aside>
自主学习
讨论会议
The Missing Semester 第7讲讨论 - 代码调试与性能分析 - 3.12_哔哩哔哩_bilibili
课程 Review
核心话题:
- 调试 Debugging(缩小问题的范围)
- printf 大法打印
- 直接打印
- 日志相关的类库
- 写入文件、网络等
- 如 log4j
- 等级设置与过滤:debug、info、warning、error、critical
- 可读性优化
- 操作系统的日志机制
- Unix 的日志:/var/log
- 上升到云的层面?
- 专门的 debugger
- pdb
- gdb / lldb
- 跟 vscode 的对接
- 特定领域
- 跟踪系统调用:strace / dtrace
- 跟踪网络请求:tcpdump / wireshark / fiddler (whsitle)
- Web 开发:DevTools
- 静态分析与 lint
- 静态分析
- linter (提醒更好的写法
- formatter
- gofmt、prettier
- 性能分析 Profiling
- 直接计时
- 打点
- time:real / user / system
- 性能分析工具
- 内存分析
- 资源监控(htop / du ncdu / netstat...)
- 阿姆达尔定律:
话题扩展
-
banq: Debugging书:《调试九法》
-
banq: Profiling
Linux Performance

-
banq: 日志的类型
- 给用户
- 给开发者
-
banq: log4j jndi 查询 Java 社区的复杂日志生态圈
- johnbanq: Java社区的各种合情合理但又复杂
- 日志实现很多:
- 红帽
- log4j / log4j2
- 标准库
- ...
- 问题:library 打日志应该用什么?一个代码库有三四个
- 技术债导致
- js 更多
-
gq: systemd journal