zoukankan      html  css  js  c++  java
  • gdb/valgrind/coredump to debug c/cpp program

    gdb/valgrind/coredump 调试
    1、gdb 调试 while/for 循环

    ①如果在调试 while/for的时候,可以用until xxx(其中,xxx代表 行号)直接跳转到循环后面的第xxx行。

    advance xxx,

    参考:

    2、gdb + backTrace(後向追蹤)

    3、gdb + assembly (彙編/汇编)
    在gdb进行 运行/run 的时候,输入 layout asm。同时,可以在 list 和 layout asm之间进行转换。

    4、利用Valgrind進行內存的跟蹤
    Valgrind ./xxx (其中,xxx是程序的名字)

    ==4210== Invalid write of size 2
    ==4210==    at 0x400A321: memcpy (vg_replace_strmem.c:1019)
    ==4210==    by 0x804E070: Pvs_QueryUserFromDev(char*, char*, char*, int, char*) (Pvs_SockCntl.cpp:1097)
    ==4210==    by 0x80498A9: QueryAllUserFromDev(char*, char*, char*) (test.cpp:251)
    ==4210==    by 0x804A6B7: main (test.cpp:669)
    ==4210==  Address 0x43894b4 is 8 bytes after a block of size 4 free'd
    ==4210==    at 0x4006AF7: operator delete[](void*) (vg_replace_malloc.c:620)
    ==4210==    by 0x804AC38: Pvs_TrimToInt(char*, int) (Pvs_CodeCntl.cpp:70)
    ==4210==    by 0x804DFA9: Pvs_QueryUserFromDev(char*, char*, char*, int, char*) (Pvs_SockCntl.cpp:1087)
    ==4210==    by 0x80498A9: QueryAllUserFromDev(char*, char*, char*) (test.cpp:251)
    ==4210==    by 0x804A6B7: main (test.cpp:669)
    ==4210==  Block was alloc'd at
    ==4210==    at 0x400801E: operator new[](unsigned int) (vg_replace_malloc.c:416)
    ==4210==    by 0x804AB98: Pvs_TrimToInt(char*, int) (Pvs_CodeCntl.cpp:55)
    ==4210==    by 0x804DFA9: Pvs_QueryUserFromDev(char*, char*, char*, int, char*) (Pvs_SockCntl.cpp:1087)
    ==4210==    by 0x80498A9: QueryAllUserFromDev(char*, char*, char*) (test.cpp:251)
    ==4210==    by 0x804A6B7: main (test.cpp:669)
    
    

    5、开启 core dump 等 gdb 输出

    REFER: Linux Core Dump


    1、5.2 Continuing and Stepping

  • 相关阅读:
    MobaXterm
    记一次完整的java项目压力测试
    jvm调优
    好用的公共dns服务器推荐(免费)
    SpringBoot,Security4, redis共享session,分布式SESSION并发控制,同账号只能登录一次
    javaCV资料目录
    基于JavaCV技术实现RTMP推流和拉流功能
    Java线程池详解
    微服务实战SpringCloud之Feign简介及使用
    【DP专题】——洛谷P5144蜈蚣
  • 原文地址:https://www.cnblogs.com/xuanyuanchen/p/6109032.html
Copyright © 2011-2022 走看看