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

gdb/valgrind/coredump to debug c/cpp program的更多相关文章

  1. [转]gdb结合coredump定位崩溃进程

    [转]gdb结合coredump定位崩溃进程 http://blog.sina.com.cn/s/blog_54f82cc201013tk4.html Linux环境下经常遇到某个进程挂掉而找不到原因 ...

  2. gdb调试coredump(使用篇)

    gdb调试coredump(使用篇) 看到一个非常好的介绍coredump的文章,做个记录, 参考链接: https://blog.csdn.net/sunxiaopengsun/article/de ...

  3. 使用GDB生成coredump文件【转载】

    本文转载自: http://blog.csdn.net/sky_qing/article/details/8548989 如果在测试过程中遇到某个进程的CPU利用率过高或者卡死而需要去调试该进程时,可 ...

  4. gdb 调试coredump文件过程

    gdb 调试coredump文件过程: 第一步:首先需要一个进程的coredump文件,怎么搞出coredump文件呢? 1. ps -fax|grep                 进程名称 找到 ...

  5. 【转】Qt 资源图片删除后,错误 needed by `debug/qrc_image.cpp'. Stop. 的终极解决办法

    @2019-06-13 [小记] Qt项目做完了把资源文件夹下已经不用的图片文件删掉,运行时报错(编译不报错):No rule to make target `images/图片文件名', neede ...

  6. linux下gdb如何处理coredump错误

    linux下gdb如何处理coredump错误 在编写C++程序中,我们经常会遇到一种错误,segment fault, 这种coredump错误 会导致程序运行时异常退出或者终止,这种错误没有明显错 ...

  7. Use GDB to debug a C++ program called from a shell script

    解决了我一个大问题!!! http://stackoverflow.com/questions/5048112/use-gdb-to-debug-a-c-program-called-from-a-s ...

  8. 【转】使用GDB调试Coredump文件

    来自:http://blog.ddup.us/?p=176 写C/C++程序经常要直接和内存打交道,一不小心就会造成程序执行时产生Segment Fault而挂掉.一般这种情况都是因为数组越界访问,空 ...

  9. gdb调试coredump文件

    linux上程序崩溃起来挺烦人,不过linux 比较好的是有gdb. 1.生成coredump文件 echo "ulimit -c unlimited" >> /etc ...

随机推荐

  1. hdu 5586 Sum 最大子段和

    Sum Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5586 Desc ...

  2. Codeforces Round #192 (Div. 1) A. Purification 贪心

    A. Purification Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/329/probl ...

  3. Codeforces Gym 100286F Problem F. Fibonacci System 数位DP

    Problem F. Fibonacci SystemTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudg ...

  4. java web servlet

    一.什么是Servlet Servlet是一种小型的Java程序,它扩展了Web服务器的功能.作为一种服务器端的应用,他是运行在Servlet容器当中,例如Tomcat就是一种流行的Servlet容器 ...

  5. Windbg命令

    (1)!runaway命令显示每个线程消费的时间 参考:http://blog.csdn.net/hgy413/article/details/7564252 (2)!wow64exts.sw 关闭6 ...

  6. MapReduce数据连接

    对于不同文件里的数据,有时候有相应关系,须要进行连接(join),获得一个新的文件以便进行分析.比方有两个输入文件a.txt,b.txt,当中的数据格式分别例如以下 1 a 2 b 3 c 4 d 1 ...

  7. Jquery Validate根据其他元素的事件来触发单个元素的异步校验

    场景:在做一个车辆信息管理模块,而车牌是通过车牌颜色和车牌号码来确定唯一性的,录入车牌信息时需对车牌进行唯一性校验.

  8. 从一行代码里面学点JavaScript

    从一行代码里面学点JavaScript 现如今,JavaScript无处不在,因此关于JavaScript的新知识也是层出不穷.JavaScript的特点在于,要学习它的语法入门简简单,但是要精通使用 ...

  9. Logistic回归总结

    原文:http://blog.csdn.net/dongtingzhizi/article/details/15962797  Logistic回归总结 作者:洞庭之子 微博:洞庭之子-Bing (2 ...

  10. java_有返回值线程_提前加载例子

    package com.demo.test3; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionE ...