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
gdb/valgrind/coredump to debug c/cpp program的更多相关文章
- [转]gdb结合coredump定位崩溃进程
		
[转]gdb结合coredump定位崩溃进程 http://blog.sina.com.cn/s/blog_54f82cc201013tk4.html Linux环境下经常遇到某个进程挂掉而找不到原因 ...
 - gdb调试coredump(使用篇)
		
gdb调试coredump(使用篇) 看到一个非常好的介绍coredump的文章,做个记录, 参考链接: https://blog.csdn.net/sunxiaopengsun/article/de ...
 - 使用GDB生成coredump文件【转载】
		
本文转载自: http://blog.csdn.net/sky_qing/article/details/8548989 如果在测试过程中遇到某个进程的CPU利用率过高或者卡死而需要去调试该进程时,可 ...
 - gdb 调试coredump文件过程
		
gdb 调试coredump文件过程: 第一步:首先需要一个进程的coredump文件,怎么搞出coredump文件呢? 1. ps -fax|grep 进程名称 找到 ...
 - 【转】Qt 资源图片删除后,错误 needed by `debug/qrc_image.cpp'. Stop. 的终极解决办法
		
@2019-06-13 [小记] Qt项目做完了把资源文件夹下已经不用的图片文件删掉,运行时报错(编译不报错):No rule to make target `images/图片文件名', neede ...
 - linux下gdb如何处理coredump错误
		
linux下gdb如何处理coredump错误 在编写C++程序中,我们经常会遇到一种错误,segment fault, 这种coredump错误 会导致程序运行时异常退出或者终止,这种错误没有明显错 ...
 - 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 ...
 - 【转】使用GDB调试Coredump文件
		
来自:http://blog.ddup.us/?p=176 写C/C++程序经常要直接和内存打交道,一不小心就会造成程序执行时产生Segment Fault而挂掉.一般这种情况都是因为数组越界访问,空 ...
 - gdb调试coredump文件
		
linux上程序崩溃起来挺烦人,不过linux 比较好的是有gdb. 1.生成coredump文件 echo "ulimit -c unlimited" >> /etc ...
 
随机推荐
- JQuery Plugin 1 - Simple Plugin
			
1. How do you write a plugin in jQuery? You can extend the existing jQuery object by writing either ...
 - delphi 插入表格HTML代码
			
<table width="174" height="76" border="1" align="center" ...
 - delphi 中DLL的建立
			
Dll的创建与调用 File ->New->Other->Dll Wizard DLL的创建 //可以将本代码复制粘贴到项目中 library Project1; uses S ...
 - 一个Windows Service项目的完整开发过程
			
(一)建立项目文件 先建立一个解决方案文件,然后添加三个项目. 分别是: (1)Windows服务项目 -----ActiveMQSenderService项目,服务主要是定时轮询某表,将更新发送到 ...
 - ios开发——实用技术篇Swift篇&录音
			
录音 // MARK: - 录音 /*----- 录音 ------*/ var recorder:AVAudioRecorder? //录音器 var player:AVAudioPlayer? / ...
 - 解决Kscope中文乱码问题
			
当安装Kscope完成后,然后配置以下三个路径:Cscope path:/usr/bin/cscopeCtags path:/usr/bin/ctagsDot path:/usr/bin/dot 对于 ...
 - 用RSA实现Web单点登录密码的加密传输
			
在使用通用权限管理系统(吉日嘎拉)的单点登录功能时,对登录密码使用了RSA加密(非对称加密),有使用这个权限管理系统的可参考下. 前端部分,请引用以下几个js文件: <script type=& ...
 - oracle数据字典和动态性能视图
			
数据字典和动态性能视图数据字典是oracle数据库中重要的组成部分,提高了数据库的一些系统信息.(静态信息)动态性能视图记载了例程启动后的信息.(动态信息) 数据字典记录了数据的系统信息,是只读表和动 ...
 - kali的openvas安装 留下笔记
			
kali的openvas安装 留下笔记,以便下次再查开始在kali找openvas,竟然kali不自带,害的要下载. apt-get updateapt-get dist-upgradeapt-get ...
 - “Request Entity Too Large” 上传图片出现大小限制
			
昨天公司安卓app上传了图片爆了下面这个错误 <"-//IETF//DTD HTML 2.0//EN"> <html><head> <ti ...