202109-19 详解Linux下调试器GDB的基本使用方法 目录一、概述二、gdb调试2.1、设置断点2.1.1、断点commands高级功能2.2、运行2.3、显示栈帧2.4、显示变量2.5、显示寄存器2.6、单步执行2.7、继续执行2.8、监视点2.9、改变变量的值2.10、生成内核转储文件2.11、attach到进程2.12、反复执行2.13、初始化文件2.14、设置源码目录2.15、TUI调试2.16、Catchpoint2.17、自定义脚本2.17.0、注释、赋值、显示2.17.1、自定义命令2.17.2、条件语句2.17.3、循环语句2.18、dump内存到指定文件三... 继续阅读 >
202011-19 解决docker使用GDB,无法进入断点的问题 问题docker里运行gdb,打了断点,却无法进入断点原因docker为了保证主机安全,docker开了很多安全设置,其中包括ASLR(Addressspacelayoutrandomization),即docker里的内存地址和主机内存地址是不一样的。ASLR会导致GDB这种依赖地址的程序无法正常运作。解决方法使用docker的超级权限,加入--privileged(两个横线,markdown语法如:dockerrun--privileged……GDB即可正常运作超级权限会关闭很多安全设置,可以更充分的使用d... 继续阅读 >
202010-10 Linux下如何使用gdb调试core文件 1.core文件当程序运行过程中出现Segmentationfault(coredumped)错误时,程序停止运行,并产生core文件。core文件是程序运行状态的内存映象。使用gdb调试core文件,可以帮助我们快速定位程序出现段错误的位置。当然,可执行程序编译时应加上-g编译选项,生成调试信息。当程序访问的内存超出了系统给定的内存空间,就会产生Segmentationfault(coredumped),因此,段错误产生的情况主要有:(1)访问不存在的内存地址;(2)访... 继续阅读 >