标题:gdb 调试程序出现的错误
取消只看楼主
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
结帖率:87.5%
已结贴  问题点数:100 回复次数:11 
gdb 调试程序出现的错误
要调试的程序如下,环境:win7(64bits)+C-Free4.0+MinGW2.95+gdb5.2.1
#include<stdio.h>
int main(void)
{
    int a[5],i;
    printf("Please input integer:\n");
    for(i=0;i<=4;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i=0;i<=4;i++)
    {
        printf("%d\n",a[i]);
    }
    return 0;
}
出现的错误是:
Error: dll starting at 0x76f21000 not found.

Error: dll starting at 0x75fd1000 not found.

Error: dll starting at 0x76f21000 not found.

Error: dll starting at 0x77041000 not found.



Program exited normally.

无论是什么程序,运行后,都出现这样的提示信息,这是什么原因引起的?网上搜索了一下没有想要的答案诶,就看到一个在stack over flow上的,说是查找的.dll文件不正确(看不太懂~~全英文)

网址:http://

希望能解决下


[ 本帖最后由 wssy213 于 2014-9-22 22:25 编辑 ]
搜索更多相关主题的帖子: return include starting 
2014-09-22 22:22
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
得分:0 
以下是引用TonyDeng在2014-9-23 09:37:44的发言:

其实,如果不查书、不做试验,你能一下子确认&a到底是&(a)还是(&a)吗?根据你运行出现的崩溃描述,明显就是后者情形(在VC下运行正常,是前者,当我把代码改为后者时就出现栈溢出错误了,描述跟你说的相近)。写代码,对没把握的东西,多写一个括号不会坏的,也不影响什么,怎么总不养成好习惯呢,恐怕是不弄点玄虚不让人费解一下不显本事的心态作怪。


恩 很感谢T版的教诲!最近有点浮躁了,心静不下来,哎

现在问题还没有得到解决(已经加上括号,还是有问题;我觉得问题不是出在这,因为[]优先级比&优先级高,不加括号也是可以的;不过我对T版所说的“写代码,对没把握的东西,多写一个括号不会坏的,也不影响什么”是很赞同的,而我这方面有待改进:))。

要怎么解决呢?

为啥&a[i],&(a[i]),(&a)[i],引用之后就变成&a,&(a),(&a)了


[ 本帖最后由 wssy213 于 2014-9-23 11:28 编辑 ]

坚持----------------------------------唯一的道路
shit ! ! !
2014-09-23 11:24
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
得分:0 
用编译器编译后运行很正常,说明程序本身应该是没问题的,但在gdb中对编译程序生成的可执行文件进行调试时,输入run,出现上述错误

在gdb中,我的步骤如下:

1、输入list,查看源代码,正常;
2、输入break 5(该行代码为printf("Please input integer:\n");),提示信息:Breakpoint 1 at 0x40123f: file //F/C/C-Free Standard/temp/未命名2.c, line 5.,(断点应该设置成功了);
3、输入run,然后输出:Starting program: F:\C\C-Free Standard\temp/未命名2.exe,gdb界面弹出上述我所贴出的错误提示;
4、在gdb界面输出错误提示的同时,弹出cmd窗口,界面上输出:Please input the integer: ,并且提示输入,进入了for循环中(我在for循环中加入一条输出语句测试得知的),并未在断点处中断;
5、正确输入数据后,程序并未给出结果,自动退出,gdb界面输出:Program exited normally.

以上是全过程


[ 本帖最后由 wssy213 于 2014-9-23 12:34 编辑 ]

坚持----------------------------------唯一的道路
shit ! ! !
2014-09-23 12:33
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
得分:0 
以下是引用TonyDeng在2014-9-23 12:40:44的发言:

正常运行没错,在调试器环境下出错,说明是调试器干扰了程序。升级一下gdb的版本,据说某个版本有问题。没事运行正常,你用调试器弄这个干什么呢。

听说这个很强大,就想去试试,因为在某些情况下,比如在for循环中,我想知道下某一次循环中的某一变量的值,用原始的方法比较麻烦,而且我的IDE不知道怎么搞的,图形化调试用不了。不过~~用起来不熟,更加的麻烦,这不,想用个简单的程序来练练手吗。

坚持----------------------------------唯一的道路
shit ! ! !
2014-09-23 13:07
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
得分:0 
回复 9 楼 TonyDeng
realease版好像也经过优化了的吧

坚持----------------------------------唯一的道路
shit ! ! !
2014-09-23 13:09
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
得分:0 
回复 13 楼 TonyDeng
哦 那我好好想想,也不知道最近是怎么了,什么都想学,却又什么都学不好
前段时间,想学vim,看vim用户手册,看了几页,没耐心了;然后又翻了翻bash手册,看的是头晕脑胀,放弃了,唉。。。。
现在很烦、很烦~~~

坚持----------------------------------唯一的道路
shit ! ! !
2014-09-23 16:31
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
得分:0 
回复 15 楼 TonyDeng
青春小伙,哪有啥更年期

坚持----------------------------------唯一的道路
shit ! ! !
2014-09-23 17:24
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
得分:0 
回复 22 楼 zklhp
恩 我试试

坚持----------------------------------唯一的道路
shit ! ! !
2014-09-24 21:35
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
得分:0 
回复 25 楼 TonyDeng
也是呀,现在变化的太快了,用的到再学吧,是我偏执
哎,对现实的模糊认识,总会让人走入歧路

坚持----------------------------------唯一的道路
shit ! ! !
2014-09-25 18:52
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
得分:0 
回复 26 楼 zklhp
我觉得现在都还没能理解透那句签名

坚持----------------------------------唯一的道路
shit ! ! !
2014-09-25 18:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-436462-1-1.html




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

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