设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
Linux 发行版讨论区 —— LinuxSir.cn
›
Debian Linux
›
求助:gcc编译的问题
返回列表
查看:
1052
|
回复:
3
求助:gcc编译的问题
[复制链接]
FreeOrDie
FreeOrDie
当前离线
积分
107
IP卡
狗仔卡
发表于 2005-12-7 18:29:30
|
显示全部楼层
|
阅读模式
gcc编译一个出错的c文件,为了产生core文件来学习gdb,原文件test.c如下
static void fun1()
{
char *cp = 0;
*cp = '!';
}
int main(int argc, char **argv)
{
fun1();
return 0;
}
然后编译:gcc -g -D_GNU_SOURCE test.c -o test_out
执行 ./test_out
输出只有“段错误”,并不产生core文件,请教为什么?怎么解决,谢谢!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
ideawu
ideawu
当前离线
积分
1837
IP卡
狗仔卡
发表于 2005-12-7 18:43:52
|
显示全部楼层
char *cp;
只是得到了一个
字符指针
,并没有分配一个
字符空间
。此时,cp所指向的内存是不定的,你 *cp=0; *cp='!';当然不能通过编绎了!
如果你真要操作字符指针,可以这样:
char c='0';//和c=0不同
char *cp=&c;
*cp='!';
建议你先别学gdb。
而且你应该到
Linux 程序设计专题讨论
发这个贴。
回复
支持
反对
使用道具
举报
显身卡
FreeOrDie
FreeOrDie
当前离线
积分
107
IP卡
狗仔卡
楼主
|
发表于 2005-12-7 22:14:43
|
显示全部楼层
可能我没说清楚,我想问怎么产生core文件。
这个程序就是为了引起问题进行调试的,执行时应该产生core文件,但是没有,so请问!!
谢谢!
回复
支持
反对
使用道具
举报
显身卡
FreeOrDie
FreeOrDie
当前离线
积分
107
IP卡
狗仔卡
楼主
|
发表于 2005-12-9 23:04:44
|
显示全部楼层
应该是设置unlimit什么的,但是怎么没有这个命令?没有查到在那个包里
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
Mandriva Linux
Archlinux讨论区
服务器架设、应用、维护
LFS(LinuxfromScratch)
Redhat/Fedora/CentOS Linux
Linux 输入开发与研究
BSD 讨论专题
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表