进入方法,单步调试方法,离开方法
与进入被父方法调用的子方法不同,单步调试方法执行其所含子方法,然后在调用方法中将会挂起执行直到父方法恢复。如果用户熟悉方法的工作原理时,可以越过这一个方法,但是要确保这个越过的方法对你现在研究的问题没有影响。
如果一行代码中不含有方法调用,在测试中就可以像进入这一行的方式一样调试这一行。
离开子方法继续执行本方法,然后挂起执行,直到这个方法返回它调用的方法。如果用户已经确定函数的剩余部分已经不再起作用时,可以直接离开这个函数。如图11-10所示。
图11-10 单步调试、离开函数
例二:
在这个实例中,需要进入、调试和离开方法。
1) 在MainPage构造函数中调用Example方法。
编辑MainPage函数,将methodTrack=String.Empty;替换为Example2();。
2)运行到这个断点。
按F5打开测试会话框,测试器就会在这个断点挂起。
3)逐行调试。
在DeBug菜单中,选择StepOver或者按F10快捷键,测试器就会执行methodTrack = "MainPage";声明,并且执行的方式与进入方法声明是一样的。
4)进入Example2和Example1_A。
使用F11快捷键进入到Example2方法。继续进入Example2声明,直到到达int x = Example2_A();行。再次执行,进入这一行并进入Example2_A 的切入点。继续执行每个声明,直到返回Example2。
5)越过方法。
注意查看Example2的下一行,int y = Example2_A();,这一行与前面的行很相似。这样就可以越过这一行。使用F10快捷键从再次开始的Example2移动到对Example2_A的再次调用,直接越过这个方法。注意methodTrack字符串表示的是Example2已经执行了两次。当然,可以发现测试器自动移动到下一行,而且在Example2恢复点并没有暂挂执行。
6)离开方法。
使用F11快捷键进入Example2_B方法。注意Example2_B方法与Example2_A没有太大差别,为了能够离开方法,在DeBug菜单中选择Step Out(或者使用快捷键:Shift+F11)。注意methodTrack变量表明Example2_B被执行,并且测试器返回到Example2的恢复点上。
7)停止测试。
在Debug菜单中,选择Stop DeBugging(快捷键:Shfit+F5)。这样就结束了测试对话。