`
unsoundboy
  • 浏览: 63393 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

调试程序

    博客分类:
  • c++
阅读更多
*****************************************1***************************************
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <string.h>

void dump(int signo)
{
        char buf[1024];
        char cmd[1024];
        FILE *fh;

        snprintf(buf, sizeof(buf), "/proc/%d/cmdline", getpid());
        if(!(fh = fopen(buf, "r")))
                exit(0);
        if(!fgets(buf, sizeof(buf), fh))
                exit(0);
        fclose(fh);
        if(buf[strlen(buf) - 1] == '\n')
                buf[strlen(buf) - 1] = '\0';
        snprintf(cmd, sizeof(cmd), "gdb %s %d", buf, getpid());
        system(cmd);

        exit(0);
}

        void
dummy_function (void)
{
        unsigned char *ptr = 0x00;
        *ptr = 0x00;
}

        int
main (void)
{
        signal(SIGSEGV, &dump);
        dummy_function ();

        return 0;
}
~   


*****************************************2***********************


#include <execinfo.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>

/* A dummy function to make the backtrace more interesting. */
        void
dummy_function (void)
{
        unsigned char *ptr = 0x00;
        *ptr = 0x00;
}

void dump(int signo)
{
        void *array[10];
        size_t size;
        char **strings;
        size_t i;

        size = backtrace (array, 10);
        strings = backtrace_symbols (array, size);

        printf ("Obtained %zd stack frames.\n", size);

        for (i = 0; i < size; i++)
                printf ("%s\n", strings[i]);

        free (strings);

        exit(0);
}

        int
main (void)
{
        signal(SIGSEGV, &dump);
        dummy_function ();

        return 0;
}
分享到:
评论

相关推荐

    WinCE串口调试程序 WinCE串口调试程序 WinCE串口调试程序

    WinCE串口调试程序 WinCE串口调试程序 WinCE串口调试程序

    用GDB调试程序 用GDB调试程序

    GDB 调试程序 GDB 是一个强大的命令行调试工具,主要帮忙用户完成四个方面的功能:启动程序、设置断点、检查程序状态和动态改变程序执行环境。GDB 的强大之处在于其可以形成执行序列,形成脚本,非常容易集成在一起...

    串口调试程序源文件

    串口调试程序是嵌入式开发中的重要工具,它允许开发者通过计算机的串行接口与目标设备进行通信,实现数据的发送和接收,以便于测试、调试和监控硬件或软件系统。下面将详细介绍串口调试程序的核心知识点以及相关...

    用GDB调试程序(整理有书签).pdf

    陈浩的《用GDB调试程序》和守望的个人博客的《GDB调试指南》这两份资料,提供了丰富的实践案例和详细的操作步骤,帮助读者从基础到进阶掌握GDB的使用技巧。通过阅读这些教程,你可以了解如何有效地使用GDB解决实际...

    WinDbg 调试程序崩溃操作详解

    在Windows平台上,程序崩溃往往给开发者带来巨大的困扰。WinDbg是一款强大的调试工具,由Microsoft开发,用于诊断和解决...通过阅读《WinDbg调试程序崩溃.pdf》这份文档,你将获得更全面的WinDbg实战技巧和案例解析。

    GDB调试程序[陈皓]&GDB调试工具指南

    《GDB调试程序[陈皓]》与《GDB调试工具指南》这两份PDF文档,是深入了解和精通GDB(GNU Debugger)这一强大调试工具的重要参考资料。GDB是开源世界中广泛使用的C、C++以及其他多种语言的调试器,它允许开发者在运行...

    串口调试程序串口调试程序

    串口调试程序是计算机技术中一个重要的工具,主要用于与硬件设备进行通信,通过串行接口进行数据传输和接收。在嵌入式系统开发、物联网应用、电子工程等领域中,串口调试程序扮演着不可或缺的角色。它能够帮助开发者...

    电动车控制器程序 STM8S903双模调试程序

    这个“电动车控制器程序 STM8S903双模调试程序”很显然,是针对STM8S903设计的一套软件系统,旨在实现电动车控制器的双模式操作。 首先,我们要理解什么是双模控制器。双模控制器通常指的是控制器可以在两种不同的...

    串口调试程序sscom32

    串口调试程序sscom32,挺好用的 串口调试程序sscom32,挺好用的

    串口通信调试程序

    串口通信调试程序

    VC_如何调试程序

    VC如何调试程序,可以帮助差错哦,更好地理解程序流程,很好用的

    中控指纹仪驱动WIN10安装包及调试程序_ZKFinger SDK 5.0 URU4000B

    在Windows 10操作系统下,正确安装并配置其驱动及调试程序是确保设备正常运行的关键。本文将详细介绍如何在WIN10系统中安装"ZKFinger SDK 5.0 URU4000B",以及如何进行调试。 首先,我们来看"ZKFinger SDK 5.0"。这...

    凌博控制器调试程序LBMC GUI v3.3.0 国内版(150401update)

    凌博控制器调试程序LBMC GUI v3.3.0 国内版(150401update),可以对二代三代72122、72152、72182控制器参数进行设置。

    带异或校验的串口调试程序

    带异或校验的串口调试程序,经过调试成功的串口通讯程序,接受字符串,和发送单个字符和字符串的程序。

    DEBUG调试程序的应用

    DEBUG调试程序的应用

    labview串口调试程序

    labview串口调试程序,用于检测在labview环境下检查串口的连接状态

    TCPUDP调试程序2 TCPUDP调试程序2 TCPUDP调试程序2

    在进行网络编程或者系统调试时,TCPUDP调试程序扮演着至关重要的角色。 TCPUDP调试程序2是一款专为开发者设计的工具,用于测试和调试TCP和UDP通信。它可以帮助程序员检查和验证网络应用程序的数据传输过程,确保...

    基于matlab中的GUI串口调试程序

    本教程将详细讲解如何利用MATLAB的GUI功能来开发一个串口调试程序。 首先,"untitled.fig"文件是MATLAB GUI设计的图形布局文件,它定义了GUI的外观,包括按钮、文本框、滑块等控件的位置和属性。在MATLAB的GUIDE...

    国网2013版终端调试程序事件 - 浙江_国网_lotfu3_376.1解析工具_主站程序_

    国网2013版终端调试程序,可以解析,可以模拟主站

Global site tag (gtag.js) - Google Analytics