diff --git a/debug-introduce.md b/debug-introduce.md index 8c8230f5..00470993 100644 --- a/debug-introduce.md +++ b/debug-introduce.md @@ -44,6 +44,27 @@ > * 我们可以给断点设置进入的条件。如上图 Gif 所示,因为变量 temp3 不等于 200 所以该断点没有被进入直接跳过。 +![Debug 特殊技能使用](images/xxiii-c-debug-use-2.jpg) + +> * 如上图,我们可以给断点设置更复杂的步入条件 +> * 红框中的 Pass count 表示跳过多少次后开始步入,比如 for 循环中,我们要查看一个变量循环 3 次后的结果就可以使用该方式。 + +![Debug 特殊技能使用](images/xxiii-c-debug-use-3.jpg) + +> * 如上图,对于某些不重要的断点,只要步入一次就够了,就可以勾选此选项,让它步入之后自动删除。 + +![Debug 特殊技能使用](images/xxiii-c-debug-use-4.jpg) + +> * 如上图,对于某些场景的断点,需要其他断点先触发之后再进行触发,可以选择此项。默认选择的是: None + ![Debug 特殊技能使用](images/xxiii-b-debug-use-5.gif) > * 有时候当我们步入方法体之后,还想回退到方法体外。如 Gif 演示,断点进入 `addNum` 方法后,点击 `Drop Frame` 按钮之后,断点重新回到方法体之外。 + +![Debug 特殊技能使用](images/xxiii-c-debug-use-1.jpg) + +> * 上图 IntelliJ IDEA 版本:2017.1.3 +> * 如上图左侧红框内容,可以看到当前断点线程执行的堆栈情况,最上面的为当前断点位置,下面的是断点前面执行的方法,如果需要看断点前面走过的路,可以查看该区域。并且可以用图上箭头按钮进行限制显示框架类代码的执行过程,而不是包括依赖 jar 里面的执行过程。 +> * 如上图右侧红框内容,可以用来展示单点断点位置的内存情况,对于判断内存溢出相关问题很有帮助。 + + diff --git a/images/xxiii-c-debug-use-1.jpg b/images/xxiii-c-debug-use-1.jpg new file mode 100644 index 00000000..ff6372a4 Binary files /dev/null and b/images/xxiii-c-debug-use-1.jpg differ diff --git a/images/xxiii-c-debug-use-2.jpg b/images/xxiii-c-debug-use-2.jpg new file mode 100644 index 00000000..0a096152 Binary files /dev/null and b/images/xxiii-c-debug-use-2.jpg differ diff --git a/images/xxiii-c-debug-use-3.jpg b/images/xxiii-c-debug-use-3.jpg new file mode 100644 index 00000000..0ea2f5b3 Binary files /dev/null and b/images/xxiii-c-debug-use-3.jpg differ diff --git a/images/xxiii-c-debug-use-4.jpg b/images/xxiii-c-debug-use-4.jpg new file mode 100644 index 00000000..336f2690 Binary files /dev/null and b/images/xxiii-c-debug-use-4.jpg differ