美文网首页
程序运行产生SIGABRT信号的原因---转

程序运行产生SIGABRT信号的原因---转

作者: WB莫遥燚 | 来源:发表于2017-08-10 09:09 被阅读1049次

程序运行产生SIGABRT信号的原因

发表于2017/2/8 14:53:31  2444人阅读

分类: C++ Linux 编程基础

原文网址:

http://m.blog.csdn.net/Season_hangzhou/article/details/54926636

目前我所知的程序运行产生SIGABRT信号的原因有三个,若还有其他情况,敬请网友留言。

(注:SIGABRT信号即signal 6的信号)

一、多次free导致的SIGABRT

#include "stdlib.h"#include "string.h"#include "stdio.hint main(){    void *pc = malloc(1024);    free(pc);    //free(pc);  //打开注释会导致错误    printf("free ok!\n");    return 0;}

二、执行abort函数

#include "string.h"#include "stdio.h"#include "stdlib.h"int main(){    printf("before run abort!\n");    abort();    printf("after run abort!\n");    return 0;}

三、执行到assert函数

#include "string.h"#include "stdio.h"#include "assert.h"#include "stdlib.h"int main(){    printf("before run assert!\n");#if 0  //该值为0,则报错;为1,则正常    void *pc = malloc(1024);#else    void *pc = NULL;#endif    assert( pc != NULL );    printf("after run assert!\n");    return 0;}

相关文章

  • 程序运行产生SIGABRT信号的原因---转

    程序运行产生SIGABRT信号的原因 发表于2017/2/8 14:53:31 2444人阅读 分类: C++ L...

  • Crash 日志

    Signal信号的类型SIGABRT–程序中止命令中止信号SIGALRM–程序超时信号SIGFPE–程序浮点异常信...

  • [iOS]iOS中常见的crash信号处理

    常见信号 SIGTERM SIGSEGV SIGINT SIGILL SIGABRT SIGFPE Program...

  • 学python这门语言,常见的一些Error!

    什么是Error Error就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则...

  • iOS EXC_BAD_ACCESS的产生和调试

    Crash大概可以分成两种:SIGABRT 和 EXC_BAD_ACCESS。 SIGABRT :是程序可以控制的...

  • iOS报错 thread 1: signal SIGABRT

    在调试的过程中发现遇到“thread 1: signal SIGABRT”的错误,问题产生的原因是,在用contr...

  • 20 | 异常处理

    异常处理 一、基本介绍 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则...

  • Java异常简单介绍

    一、异常产生的原理 JVM针对程序运行监测出的异常创建个异常对象,对象包含了异常产生的:内容、原因、位置。根据程序...

  • Python-异常处理

    异常处理介绍 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异...

  • day28-异常处理

    一、什么是异常 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该...

网友评论

      本文标题:程序运行产生SIGABRT信号的原因---转

      本文链接:https://www.haomeiwen.com/subject/fuicrxtx.html