1
zty7723271 OP 除了 Debug,然后回溯方法栈(这样太依靠主观猜测了),还有别的办法吗?
|
2
shawndev 2021-02-01 17:10:48 +08:00 6
随便说几条,可能跑题。
1. git log --reverse 先看初始提交 2. git tag 检出重要版本,git diff 、git shortlog 分别查看 changelog 和差异 3. 善用 git worktree 4. 看第三方库管理文件的变更历史,java 多对应 gradle 和 maven 5. 关注注释中的 TODO 和 FIXME 6. 善用搜索,比如贡献者的 github 首页、开源项目的首页、相关依赖的首页等等 7. 找到一种类似 playground 或者 repl 的工具,多运行代码片段 8. 如果可能,最好用自己习惯的格式化工具格式化之后查看 |
3
anthow 2021-02-01 17:11:19 +08:00
就 debug 呀。
|
4
annielong 2021-02-01 18:15:13 +08:00
硬头皮找,刚遇到一个二次打包的,把代码塞到 spring 的 jar 里面,饭后放在 lib 下
|
5
DCCooper 2021-02-01 22:53:06 +08:00
小一点的项目,比如一个二进制工具,先去看 Makefile,知道项目是怎么编译出来的,入口函数在哪里等等。知道了之后,就开始使用这个程序,命令大概熟悉之后,开启 debug 模式,然后一路调试下来。
拿 go 语言来说,dlv exec xxx -- cmd 然后打点一路走下去,期间遇到不懂的地方就 step 进去,看看是怎么处理的,直到程序终止。 这样我觉得是最快的方法了,走过两遍之后,再去看代码,一点也不懵逼了。 大型项目,二楼老哥说的不错。 |
6
jones2000 2021-02-01 23:07:36 +08:00 1
看源码是有目的的去看, 这个又不是看小说,从头看起. 比如你用到了开源的一个方法, 你想了解, 你就调试断点一步一步跟进去不就可以了. 要什么东西就看什么.
|