<!-- [if !mso]>
<mce:style><!
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
p\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
v\:textbox {display:none;}
--><!-- [endif]--><!-- [if !ppt]--><!-- [endif]-->
一,进程虚拟地址空间
<!-- [if !mso]>
<mce:style><!
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
p\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
v\:textbox {display:none;}
--><!-- [endif]--><!-- [if !ppt]--><!-- [endif]-->
进程的虚拟地址空间分布与源代码的对应关系如下:
栈被破坏的情况下经常导致backstrace结果中当前指令地址异常,可以用来推测堆栈是否被破坏。
通过 /proc/<pid>/maps 文件查看程序运行时文本、数据、堆栈的内存区域映射
正常情况下的代码段地址区间可参考
”
/proc/<PID>/maps
”
文件中属性为
”
r-xp
”
对应项目
/proc
文件目录下,
还有一些其他进程信息,可用以进行进程信息的解读。
如果当前的地址已经不在给该
程序的代码区,也不在链接的库的代码区,则一般是栈被破坏了
。
进程所占用的虚拟地址空间如下所示,操作系统将使用其中的1G。分配给程序的3G中,也有一些必须留作他用。
二,进程的栈空间
如何用GDB查看内存(栈)的内容,请参阅:
http://blog.csdn.net/IterZebra/archive/2011/02/22/6198875.aspx
用GDB调试程序--调试器GDB常用功能(菜鸟级)
在上述文章中的 "三,调试实例分析
"中,使用了 (gdb) x/24x 0x7fffffffe320打印出从0x7fffffffe320到0x7fffffffe380的内存内容。根据打印结果,分析其中的0x7fffffffe320到0x7fffffffe360,将栈空间的存储情况如下描述:
分享到:
相关推荐
用GDB调试程序 用GDB调试程序 用GDB调试程序 用GDB调试程序 用GDB调试程序 用GDB调试程序
陈浩-用GDB调试程序(整理有书签).pdf+守望的个人博客-GDB调试指南(整理有书签).pdf
详细并且全面的GDB入门,易理解。 内容: 一、 GDB概述 二、系统认识GDB 三、GDB的命令概貌 ...六、调试已运行的程序 七、查看栈信息 八、查看源程序 九、查看运行时数据 十、查看寄存器 十一、改变程序的执行
GDB调试--以汇编语言为例
用GDB调试程序 用GDB调试程序 用GDB调试程序 用GDB调试程序 用GDB调试程序
qtcreator-gdb-7.4-MINGW32_NT-6.1-i686 QtCreator 的调试器
GDB是一个强大的命令行调试工具,和大家共享一下。
用GDB调试程序
qtcreator-gdb-7.4-MINGW32_NT-6.1-i686版本调试器主要用于调试QT程序,与QT4.8.5桌面版配套,在本博客内也有相关资源可以下载。
1、程序运行参数 2、运行环境 3、工作目录 4、程序
gdb 多进程程序调试 gdb 多进程程序调试 gdb 多进程程序调试 gdb 多进程程序调试 gdb 多进程程序调试 gdb 多进程程序调试 gdb 多进程程序调试 gdb 多进程程序调试 gdb 多进程程序调试 gdb 多进程程序调试
GDB调试程序[陈皓] GDB调试工具指南 两个pdf文件
内含有mingw-get-setup.exe以及gdb-7.6.1-1-mingw32-bin.tar,容易被墙,都下好了,换点积分
用GDB调试程序(zt).pdf
使用VS2015开发Linux程序,在Linux端资源安装资源 CentOS7安装命令为:rpm -ivh gdb-gdbserver-7.6.1-120.el7.x86_64.rpm
安装MinGw报错无法下载gdb-7.6.1-1-mingw32-bin.tar.lzma 。可以下载这个文件,把其中解压出来的gdb.exe放在MinGw/bin目录下即可。注意解压lzma文件需要使用特殊软件,如:“7-zip”。
gdb-linaro-7.6-2013.05.tar.bz2, opensource, openwrt