博客
关于我
操作系统前传第六课--开发中的辅助工具
阅读量:335 次
发布时间:2019-03-04

本文共 479 字,大约阅读时间需要 1 分钟。

在处理大型项目时,程序崩溃可能会导致难以定位错误。以下是解决方法:

  • 启用core dump:在运行前设置 ulimit -c unlimited,允许生成core文件记录崩溃信息。

  • 编译保留调试信息:使用 gcc -g 编译,生成带有调试信息的可执行文件,以便使用 addr2line 和其他工具分析问题。

  • 运行程序并生成core文件:在设置core dump后,运行程序,确保会生成core文件。注意不要使用 strip 分割调试信息,因为这将破坏调试文件。

  • 分析core文件:使用 dmesg 查看错误日志,获取崩溃时的内存状态和寄存器值,提供关键的错误位置信息。

  • 定位错误:使用 addr2line 将错误地址转换为文件和行号,快速定位问题所在。

  • 检查编译选项:确保使用了 gcc -g 编译,以保留调试信息。避免在调试后使用 strip,因为这会去除调试符号,影响后续分析。

  • 分析目标文件:使用 arnm 工具查看目标文件,确认符号链接是否正确,确保所有符号都有正确的内存地址。

  • 通过以上步骤,可以有效地定位和修复程序崩溃的问题,提高开发效率。

    转载地址:http://wnme.baihongyu.com/

    你可能感兴趣的文章
    量化新手初识流数据表
    查看>>
    Linux中常见的echo是什么意思
    查看>>
    国内量化交易现状总结
    查看>>
    阿里云云解析DNS各种概念深度剖析
    查看>>
    SQLite基础用法
    查看>>
    (20200328已解决)从docker容器内复制文件到宿主机
    查看>>
    理解Docker ulimit参数
    查看>>
    pandas.groupby().rank()用法详解
    查看>>
    Factor Exposure因子暴露
    查看>>
    理解zvt in Python on Quant
    查看>>
    理解Data Centric VS. Document Centric VS. mixed-content XML
    查看>>
    理解DSL||AST||query clauses||X-Pack||JDBC||ODBC
    查看>>
    将DataFrame作为邮件正文HTML发送 in Python
    查看>>
    理解Library of Congress Cataloging-in-Publication Data
    查看>>
    理解Python系统下的时间格式
    查看>>
    《经济机器是怎样运行的》笔记(三)
    查看>>
    prod()与cumprod()区别cumsum()
    查看>>
    Python提升回测速度concurrnet.futures模块详解
    查看>>
    Python语言'类'概念再理解
    查看>>
    (2019.6.27)Anaconda清华镜像已恢复使用
    查看>>