vs调试中逐过程(F10)与逐语句(F11)的区别 |
您所在的位置:网站首页 › 快捷键f10的作用 › vs调试中逐过程(F10)与逐语句(F11)的区别 |
今天博主在调试中发生了一件困惑的事,如以下代码 #define _CRT_SECURE_NO_WARNINGS 1 #include #include int main() { int i = 0; int arr[] = { 1, 2, 3, 4, 5 }; int sz = sizeof(arr) / sizeof(arr[0]); for (i = 0; i < sz; i++) { arr[i] = 0; } for (i = 0; i < sz; i++) { printf("%d ", arr[i]); } system("pause"); return 0; }当你使用F10或者F11时只能起到F11顾名思义的效果,只能一行一行进行,逐语句(实际为逐过程)进行,那么,逐过程F10如何实现呢?我们再用两个功能测试下面代码。 #define _CRT_SECURE_NO_WARNINGS 1 #include #include void initprint(int arr[],int sz) { int i = 0; for (i = 0; i < sz; i++) { arr[i] = 0; } for (i = 0; i < sz; i++) { printf("%d ", arr[i]); } } int main() { int arr[] = { 1, 2, 3, 4, 5 }; int sz = sizeof(arr) / sizeof(arr[0]); initprint(arr, sz); system("pause"); return 0; }会发现,只有逐语句F11才能进入函数内部,而逐过程F10会将函数视为一个段落直接跳过,因此,F11可以实现我们更精确的测试需求,找出问题所在。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |