`
unsoundboy
  • 浏览: 62463 次
  • 性别: 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++以及其他多种语言的调试器,它允许开发者在运行...

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

    串口调试程序是电子工程师和计算机程序员在进行硬件与软件交互时不可或缺的工具。它主要用于检测、测试和调试通过串行通信接口(如RS-232、UART、USB转串口等)进行数据传输的设备。串口调试程序允许用户发送和接收...

    电动车控制器程序 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"。这...

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

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

    DEBUG调试程序的应用

    DEBUG调试程序的应用

    labview串口调试程序

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

    串口调试程序

    串口调试程序是一种用于测试和诊断串行通信接口的工具,它在电子工程、嵌入式系统开发以及计算机硬件调试中扮演着重要角色。串口,通常指的是RS-232标准,是一种早期广泛使用的串行通信接口,允许设备之间进行数据...

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

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

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

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

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

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

Global site tag (gtag.js) - Google Analytics