免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1609 | 回复: 7
打印 上一主题 下一主题

linux下如何调试多文档c程序? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-12 09:45 |只看该作者 |倒序浏览
我有一个比较大的c程序需要调试。
为了清楚表达我的问题,让我用一个比较简单的例子来说明。

假设我的程序文件包括:

    main.c, utility1.c, utility2.c

编译之后我就有

    main.o, utility1.o, utility2.o

连接形成可执行程序之后我有

    main.exe

我现在要用gdb来调试这个项目,应该如何办?

论坛徽章:
0
2 [报告]
发表于 2006-08-12 09:53 |只看该作者
gdb main

论坛徽章:
0
3 [报告]
发表于 2006-08-12 10:15 |只看该作者

re: linux下如何调试多文档c程序? re: gdb main

老兄,gdb main.exe的话,打出来的信息总是人看不懂的
一些机器指令以及机器地址信息.譬如说:

  gdb gle.exe                      (我的主程序是gle.exe)
   <gdb>run fitz.gle             (我的主程序需要从fitz.gle中读入数据)

   starting program /cygdrive/e/texRelated/GLE/gle4/build/bin/gle.exe fitz.gle

   program received signal SIGSEGV, Segmentation fault.

   0x610b2c16 in pthread_key_create <> from /usr/bin/cygwin1.dll

   <gdb>

论坛徽章:
0
4 [报告]
发表于 2006-08-12 11:44 |只看该作者
那你的调试是什么个意思?

论坛徽章:
0
5 [报告]
发表于 2006-08-12 16:24 |只看该作者
原帖由 sufive 于 2006-8-12 10:15 发表
老兄,gdb main.exe的话,打出来的信息总是人看不懂的
一些机器指令以及机器地址信息.譬如说:

  gdb gle.exe                      (我的主程序是gle.exe)
   <gdb>run fitz.gle             (我的主 ...


发生段错误了,通常因为指针操作不当, 访问了非法地址。
backtrace 一下,看哪里出错了。

论坛徽章:
0
6 [报告]
发表于 2006-08-13 12:05 |只看该作者
原帖由 sufive 于 2006-8-12 09:45 发表
我有一个比较大的c程序需要调试。
为了清楚表达我的问题,让我用一个比较简单的例子来说明。

假设我的程序文件包括:

    main.c, utility1.c, utility2.c

编译之后我就有

    main.o, utility1.o,  ...

>>
>>
>>编译的时候加上-g参数,然后直接gdb main.exe就可以了。
>>顺便说一下,exe后缀的文件在linux是比较奇怪的,你用的什么平台?
>>
>>

[ 本帖最后由 Bayweb 于 2006-8-13 12:07 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2006-08-13 13:00 |只看该作者
怀疑
lz 要表达的时
载 linux 下怎么调试 exe 文件
:)

论坛徽章:
0
8 [报告]
发表于 2006-08-13 18:12 |只看该作者
谢谢各位,我的问题已经解决了。

我的问题是:需要调试一个非常大的项目,这个项目由多个源文件
构成,编译之后形成单一的exe文件,因为我的源文件数目太多,
我没法逐一地为编译这些源文件的make命令加上-g参数,而只
是在main.cpp文件的make编译命令中加上了-g参数,所以在调试
时,一旦程序的执行超出了main.cpp的范围,gdb就打印出看不懂
的信息。

另外,我使用的是cygwin平台,它是一个在windows环境下
仿真linux的开发平台。使用这个平台的好处是我可以使用windows的
编辑工具譬如source-insight之类来编写员文件。

我的可执行文件都命名为*.exe形式,因为我这些程序虽然是用
cygwin为linux编译形成的,它们在我的windows操作系统下是
完全可见的,可修改的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP