调试应用程序之使用core dump

    在应用程序中,经常会导致段错误,segment default,我们可以使用二分法一个个打印,或者用gdb 一步步的step进去查看打印,但是这在很大的程序中显得效率很低,这时我们可以使用core dump 来调试查看出差的地方。

      core就是核心的意思,这里是内存,dump是倒垃圾的意思,就是将程序中的内存出错的像倒垃圾一样呈现出来。
下面简单的显示一下core dump的用法

产生core文件。一般这个core文件都是命名为core 或者core.xxx(xxx就是产生错误的进程号)

设置core文件为没有限制大小
ulimit -c unlimited  (如果要不产生core文件可用ulimit -c 0)


应用程序编译时加上-g选项

运行可执行程序
./core_test.o

ls 可看见产生core文件

core  core_test.c  core_test.o


开始调试:
gdb ./core_test.o core


可看见出错的地方。

Program terminated with signal 11, Segmentation fault.
#0  0x080483c7 in core_test () at core_test.c:6
这是个错误的赋值---数组越界


下面是测试文件




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Windows 平台上,应用程序崩溃时可能会产生 Core Dump 文件,通常以 .dmp 后缀结尾。这个文件包含了应用程序崩溃时的内存状态,可以帮助开发者定位和解决问题。以下是处理 Windows 应用程序崩溃产生 Core Dump 的一些方法: 1. 启用 Windows Core Dump 在 Windows 上,默认情况下是不启用 Core Dump 的。使用以下命令可以启用 Core Dump: ``` reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" /v DumpType /t REG_DWORD /d 2 /f ``` 2. 使用 Visual Studio 调试 Core Dump Visual Studio 支持使用 Core Dump 进行调试。可以使用 Visual Studio 打开 Core Dump 文件,并分析崩溃的原因。具体的操作步骤可以参考 Microsoft 官方文档。 3. 使用 WinDbg 调试 Core Dump WinDbg 是一款微软开发的用于 Windows 平台上的调试器,支持分析 Core Dump 文件。可以使用 WinDbg 打开 Core Dump 文件,并分析崩溃的原因。具体的操作步骤可以参考微软官方文档。 4. 使用第三方工具分析 Core Dump 除了使用 Visual Studio 和 WinDbg,还有一些第三方工具可以用来分析 Core Dump 文件,比如 Process Explorer、GDB 等。这些工具都有各自的优缺点,开发者可以根据自己的需要选择合适的工具。 总的来说,处理 Windows 应用程序崩溃产生 Core Dump 的过程比较复杂,需要开发者具备一定的调试经验。建议在处理 Core Dump 之前先了解一下相关的调试工具和技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值