请问VS2015写C的时候,为什么调试不跳转到函数呢,比如到一个函数的地方就那一条函数语句,不跳到函数体,VS2013就到函数体继续执行,为什么呢?

yyxgs 2015-12-25 06:18:46
#include <stdio.h>

int print(int count)
{
int i=0;
for(;i<count;++i)
{
printf("hello world\n");
}

return 0;
}

int main(int argc,char *argv[])
{
printf("hello world\n");
print(7);

return 0;
}


虽然会执行输出很多hello world,但是调试就是在主函数里print(7);一行,然后是接着的return 0,没有跳到函数体执行,大一点函数完全不知道函数里面哪条语句出问题了,请问VS2015本来就是这样,还是需要设置,求高手告知!


...全文
1028 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mewiteor 2015-12-26
  • 打赏
  • 举报
回复
除了楼上说的F10,F11的区别,还有Debug与Release的区别,Debug默认不会对程序做任何优化,而Release可能会把函数优化成内联的形式。
lm_whales 2015-12-26
  • 打赏
  • 举报
回复
引用 1 楼 adusuccessfully 的回复:
把断点打在 print(7);这一行,调试F11,就进入到 print函数体内。 楼主可以百度下调试程序时F10与F11的用法: F10,F11是调试时用的,俩者区别在于F10是逐过程调试,F11是逐语句调试。F11比F10细一些,但考虑到时间问题和部分代码需要快速跳过原因,2者结合用效果最佳。
++
生如夏花bld 2015-12-26
  • 打赏
  • 举报
回复
F10是逐过程调试,F11是逐语句调试, 你可以将断点设置在函数中 到那一句就会进入
paschen 2015-12-25
  • 打赏
  • 举报
回复
分步入和步过的区别,步入才跟进函数,有时你不可能有精力去一直跟踪函数里每一条语句,所以应该根据不同情况采用不同方式
动力风暴 2015-12-25
  • 打赏
  • 举报
回复
把断点打在 print(7);这一行,调试F11,就进入到 print函数体内。 楼主可以百度下调试程序时F10与F11的用法: F10,F11是调试时用的,俩者区别在于F10是逐过程调试,F11是逐语句调试。F11比F10细一些,但考虑到时间问题和部分代码需要快速跳过原因,2者结合用效果最佳。

70,038

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧