Debug追踪,使用IDEA的断点调试功能,查看程序的运行过程
知乎视频www.zhihu.com1. 在有效代码行,点击行号右边的空白区域,设置断点,程序执行到断点将停止,我们可以手动来运行程序
![3b3f5d6eea08d38b9fbd929291bc6de6.png](https://i-blog.csdnimg.cn/blog_migrate/d45a52e4a8b1de55d4b5e8c07661fea1.jpeg)
2. 点击Debug运行模式
![828f5397e88962180faafaf88d1bfa4d.png](https://i-blog.csdnimg.cn/blog_migrate/321c4d6951938d0397df3b675403fd32.jpeg)
3. 程序停止在断点上不再执行,而IDEA最下方打开了Debug调试窗口
![b2fed773b28651b310b3ae7f6360a71a.png](https://i-blog.csdnimg.cn/blog_migrate/c31b10b1016137315eeb8e8f7dbe9160.jpeg)
![cd4e2cb00cf949e542be09b8980ff274.png](https://i-blog.csdnimg.cn/blog_migrate/21d53633d5163e9c6911a735ddb2b9b4.png)
4. Debug调试窗口介绍
![e3b76708336956e5f4c95190ba6c5602.png](https://i-blog.csdnimg.cn/blog_migrate/a1d860bb108816d57641320c1f90a8ea.jpeg)
5. 快捷键F8,代码向下执行一行,第九行执行完毕,执行到第10行(第10行还未执行)
![2ba2c8154a96302f665bcb90be477c4d.png](https://i-blog.csdnimg.cn/blog_migrate/011c872f6660ffab526f689217640815.jpeg)
6. 切换到控制台面板,控制台显示 请录入一个字符串: 并且等待键盘录入
![b6a5a8100aade2d968acd0ce64f30706.png](https://i-blog.csdnimg.cn/blog_migrate/e6177584b6269e8c7d11d405134ddcf7.jpeg)
7. 快捷键F8,程序继续向后执行,执行键盘录入操作,在控制台录入数据 ababcea
![b97014552d083268c0e6a8b106d7b1ec.png](https://i-blog.csdnimg.cn/blog_migrate/72e347bb4ccb57e4036f0e9bc874eccf.png)
回车之后效果:
![43574f8ade2eadbc1c74cd13998afbbc.png](https://i-blog.csdnimg.cn/blog_migrate/be08e7e7555d14f76dddd7b965a8933b.jpeg)
调试界面效果:
![3c5da167396fec34f67e71ebc980e899.png](https://i-blog.csdnimg.cn/blog_migrate/2556f97a050dcbbba2670d99fcf51f79.png)
8. 此时到达findChar方法,快捷键F7,进入方法findChar
![91e696ca9fd72cc20873e61b7a8f6caf.png](https://i-blog.csdnimg.cn/blog_migrate/b62bf0ea5287c2bb479f8d8fc28d1425.jpeg)
9. 快捷键F8 接续执行,创建了map对象,变量区域显示
![1f81c7db044f7cd5c8897b51c2977f7f.png](https://i-blog.csdnimg.cn/blog_migrate/d5e1b8cebd1666350a5c1cd4f2618357.png)
10. 快捷键F8 接续执行,进入到循环中,循环变量i为 0,F8再继续执行,就获取到变量c赋值为字符‘a’ 字节值97
![587bbc15c7d4aea7f79e5cad78a36369.png](https://i-blog.csdnimg.cn/blog_migrate/8eb60475bdf08e6fc58197dabd4eba8f.png)
11. 快捷键F8 接续执行,进入到判断语句中,因为该字符 不在Map集合键集中,再按F8执行,进入该判断中
![2280a76ebfa0f9bff4e15a9803c5495d.png](https://i-blog.csdnimg.cn/blog_migrate/6f55ff1f3cf426b1149ec191e0590679.png)
12. 快捷键F8 接续执行,循环结束,进入下次循环,此时map中已经添加一对儿元素
![a494fb2b96075c15d94feed503794f05.png](https://i-blog.csdnimg.cn/blog_migrate/ebea1f2f660e3b2549c4f8846c7d8984.jpeg)
13. 快捷键F8 接续执行,进入下次循环,再继续上面的操作,我们就可以看到代码每次是如何执行的了
![b2936f69a169c712d5595fd1e903c6a9.png](https://i-blog.csdnimg.cn/blog_migrate/287297e5286d425f7ccc14fd4781910c.jpeg)
14. 如果不想继续debug,那么可以使用快捷键F9,程序正常执行到结束,程序结果在控制台显示
![4a68c60e03a5ebbe5b1a7bf5ba041f0d.png](https://i-blog.csdnimg.cn/blog_migrate/f5028149ef0ba6d858bb00693f047cde.jpeg)