Debug追踪,使用IDEA的断点调试功能,查看程序的运行过程
知乎视频www.zhihu.com1. 在有效代码行,点击行号右边的空白区域,设置断点,程序执行到断点将停止,我们可以手动来运行程序
![690fddb911b83ae5a14774c7a24aba9d.png](https://img-blog.csdnimg.cn/img_convert/690fddb911b83ae5a14774c7a24aba9d.png)
2. 点击Debug运行模式
![ffd2ba605becb6028c3671b4b970a08f.png](https://img-blog.csdnimg.cn/img_convert/ffd2ba605becb6028c3671b4b970a08f.png)
3. 程序停止在断点上不再执行,而IDEA最下方打开了Debug调试窗口
![ae132483736cedfb9fc6704dfb1572a4.png](https://img-blog.csdnimg.cn/img_convert/ae132483736cedfb9fc6704dfb1572a4.png)
![b9dd171b89538557fe9870b103a568ff.png](https://img-blog.csdnimg.cn/img_convert/b9dd171b89538557fe9870b103a568ff.png)
4. Debug调试窗口介绍
![0d47701b7d1cb04d9da291390fe1afb1.png](https://img-blog.csdnimg.cn/img_convert/0d47701b7d1cb04d9da291390fe1afb1.png)
5. 快捷键F8,代码向下执行一行,第九行执行完毕,执行到第10行(第10行还未执行)
![da54b28738749abe56764267e1a859bb.png](https://img-blog.csdnimg.cn/img_convert/da54b28738749abe56764267e1a859bb.png)
6. 切换到控制台面板,控制台显示 请录入一个字符串: 并且等待键盘录入
![91196d5f5632845ce96316d1fa2a0b5f.png](https://img-blog.csdnimg.cn/img_convert/91196d5f5632845ce96316d1fa2a0b5f.png)
7. 快捷键F8,程序继续向后执行,执行键盘录入操作,在控制台录入数据 ababcea
![c7a3db69a90cec24bb250c394a5262b2.png](https://img-blog.csdnimg.cn/img_convert/c7a3db69a90cec24bb250c394a5262b2.png)
回车之后效果:
![61bb0c5420f958157bf264c5d21c1cfd.png](https://img-blog.csdnimg.cn/img_convert/61bb0c5420f958157bf264c5d21c1cfd.png)
调试界面效果:
![1bcd24eb2d13d14c8a197f16dd1e1460.png](https://img-blog.csdnimg.cn/img_convert/1bcd24eb2d13d14c8a197f16dd1e1460.png)
8. 此时到达findChar方法,快捷键F7,进入方法findChar
![ee64f82264bd415d17b392e7edf6106e.png](https://img-blog.csdnimg.cn/img_convert/ee64f82264bd415d17b392e7edf6106e.png)
9. 快捷键F8 接续执行,创建了map对象,变量区域显示
![60a6571cc9c473645d19d9400bfecb1e.png](https://img-blog.csdnimg.cn/img_convert/60a6571cc9c473645d19d9400bfecb1e.png)
10. 快捷键F8 接续执行,进入到循环中,循环变量i为 0,F8再继续执行,就获取到变量c赋值为字符‘a’ 字节值97
![6d1372aa62b992eff1f403e25b199f0b.png](https://img-blog.csdnimg.cn/img_convert/6d1372aa62b992eff1f403e25b199f0b.png)
11. 快捷键F8 接续执行,进入到判断语句中,因为该字符 不在Map集合键集中,再按F8执行,进入该判断中
![1e1da8e5e9b765402b2625ade707dd1f.png](https://img-blog.csdnimg.cn/img_convert/1e1da8e5e9b765402b2625ade707dd1f.png)
12. 快捷键F8 接续执行,循环结束,进入下次循环,此时map中已经添加一对儿元素
![173d26ae163ac3e10a2a387de324ab2f.png](https://img-blog.csdnimg.cn/img_convert/173d26ae163ac3e10a2a387de324ab2f.png)
13. 快捷键F8 接续执行,进入下次循环,再继续上面的操作,我们就可以看到代码每次是如何执行的了
![b862dc2d6729f9e36e5f0b043e217561.png](https://img-blog.csdnimg.cn/img_convert/b862dc2d6729f9e36e5f0b043e217561.png)
14. 如果不想继续debug,那么可以使用快捷键F9,程序正常执行到结束,程序结果在控制台显示
![9c91cf7d5c2ca34ffb33aa03bf6e5dfd.png](https://img-blog.csdnimg.cn/img_convert/9c91cf7d5c2ca34ffb33aa03bf6e5dfd.png)