segmentation fault (总线错误 core dumpedd)

2127人阅读
Error&&Linux&&C(4)
Linux&&C(15)
Linux/Unix(35)
Segmentation fault (core dumped)&
小编一个不小心,将以下程序在11行scanf()中把 ptr 写成了 *ptr,在编译时没问题,但在运行时出现:
$/test/src/$ gcc -o app reverse.c -g
$/test/src/$ ./app
Enter 3 number :12 13 14
Segmentation fault (core dumped)
示例代码如下:reverse.c
1 #include &stdio.h&
2 #define ARRAY_SIZE 3
4 int main(void){
int arr[ARRAY_SIZE];
printf(&Enter %d number :&,ARRAY_SIZE);
ptr & arr+ARRAY_SIZE; ptr++){
scanf(&%d&,*ptr);
//是什么原因导致段错误呢? 思考一下
//scanf(&%d&,ptr);
printf(&The number will output in reversal order: \n&);
for(ptr = arr+ARRAY_SIZE-1; ptr &= ptr--){
printf(&%d \t&,*ptr);
printf(&\n&);
Segmentation fault (core dumped)一般是对内存操作不当造成的,常见的有:
(1)数组。
(2)修改了只读内存。
(3)还有本例也是修改了只读内存。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:82266次
积分:1420
积分:1420
排名:千里之外
原创:61篇
(1)(3)(1)(2)(1)(3)(1)(10)(26)(9)(3)(2)(1)(3)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'6029人阅读
C/C++(100)
Linux(161)
Segmentation fault(段错误)是由于虚拟内存管理单元的异常所致,而该异常则通常是由于解引用一个未初始化或非法值的指针引起的。
Linux中提供了core dump的功能,使得对这类错误的调试更为容易。
一般情况下,linux系统是不允许产生core文件的,因此首先要解除这个限制:
ulimit -c unlimited
接下来,运行含segmentation fault的段程序,如:
这时,segmentation fault的错误信息会显示为:
Segmentation fault (core dumped)
在该文件夹下会出现一个名为core的文件
使用生成的core文件进行调试
gdb test core
#0 &0x00a5c920 in ?? () from /lib/i386-linux-gnu/libc.so.6
#1 &0x00a5ca0d in exit () from /lib/i386-linux-gnu/libc.so.6
#2 &0x00a4311b in __libc_start_main () from /lib/i386-linux-gnu/libc.so.6
#3 &0x in _start ()
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2222787次
积分:23631
积分:23631
排名:第292名
原创:406篇
转载:253篇
译文:21篇
评论:257条
(7)(3)(10)(3)(5)(2)(5)(6)(15)(8)(7)(5)(5)(2)(13)(25)(14)(18)(13)(38)(9)(26)(29)(30)(29)(31)(11)(7)(5)(14)(13)(17)(15)(13)(1)(10)(3)(10)(4)(5)(10)(13)(25)(16)(6)(21)(14)(16)(10)(7)(4)(9)(3)(10)(15)(15)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'}

我要回帖

更多关于 core dumped怎么解决 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信