| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1607 人关注过本帖
标题:GDB测试C程序的一个问题
取消只看楼主 加入收藏
stuyangzheng
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2020-4-8
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
GDB测试C程序的一个问题
程序代码:
#include<stdio.h>
int func(int n)
{
   int sum = 0,i;
   for (i=0; i<=n; i++)
   {
        sum+=i;
   }
   return sum;
}

main()
{
  int i;
  long result = 0;
  for (i=1;i<=100;i++)
  {
     result += i;
  }

  printf("[1-100] = %d \n", result);
  printf("[1-250] = %d \n", func(250));
}

在main函数中的long result=0那一行和函数func中设置断点:
然后输入bt命令,结果是这样的:
图片附件: 游客没有浏览图片的权限,请 登录注册

让人困惑的是:结果显示成这样,是表示当前显示的栈里面有内容呢,还是没有内容?
如果有内容,为什么显示的结果和之后那个断点的结果显示不一样?
图片附件: 游客没有浏览图片的权限,请 登录注册

比较一下就能看出,后面这个显示栈里面内容的时候,变量是分配了内存地址的,而第一个断点这里就没有。
搜索更多相关主题的帖子: 结果 int result 内容 显示 
2020-04-08 20:33
stuyangzheng
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2020-4-8
收藏
得分:0 
回复 3楼 wmf2014
嗯,感谢感谢,主要是对bt命令的理解没到位。https://blog.,这篇文章里面有关于bt命令的详细解释。
2020-04-09 09:44
快速回复:GDB测试C程序的一个问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031097 second(s), 10 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved