使用GDB断点并查看寄存器和内存的值

56 未经授权,禁止转载了解课程
课程介绍
讨论{{interaction.discussNum ? '(' + interaction.discussNum + ')' : ''}}
适合人群
具有一定的C语言和汇编语言基础的学员,希望了解和掌握GDB调试的基本内容。
你将会学到
学习GDB的基本使用方法,能够独立完成程序的调试。
  • 调试程序,发现Bug
课程简介

图书推荐:按需购买,如有疑问,随时联系。

微信图片_20230530141901.jpg

GDB(GNU symbolic debugger)是 GNU Project 调试器,它使你可以查看另一个程序在 “执行” 期间正在执行的操作–或该程序崩溃时正在执行的操作。

GDB 可以做四种主要的事情(以及支持这些事情的其他事情)来帮助你捕获行为中的错误:

  • 启动你的程序,并指定可能影响其行为的所有内容。

  • 使程序在指定条件下停止。

  • 检查程序停止时发生的情况。

  • 更改程序中的内容,以便你可以尝试纠正一个错误的影响,然后继续学习另一个错误。

课程内容涉及 GDB的基本使用方法、GCC编译程序和符号文件的操作、Strace追踪系统调用的基本方法,以及GDB插件GEF的简单使用等相关内容。

展开更多
发布
头像

{{ item.user.nick_name }} {{ EROLE_NAME[item.user.identity] }}

置顶笔记
讨论图
{{ item.create_time }}回复
  • 删除

    是否确认删除?

    确认
    取消
  • {{ item.is_top == 1 ? '取消置顶' : '置顶'}}

    已有置顶的讨论,是否替换已有的置顶?

    确认
    取消
{{ tag.text}}
头像
{{ subitem.user.nick_name }}{{ EROLE_NAME[subitem.user.identity] }}
{{ subitem.create_time }}回复
删除

是否确认删除?

确认
取消
发布
{{pageType === 'video' ? '讨论区抢占沙发,可获得双倍学分' :'讨论区空空如也,你来讲两句~'}}
发布
{{tips.text}}
{{ noteHeaderTitle }} 笔记{{ hasMyNote ? '我的笔记' : '记笔记' }}
{{ hasMyNote ? '我的笔记' : '记笔记' }}
优质笔记
更新于:{{ $dayjs.formate('YYYY-MM-DD HH:mm:ss', item.last_uptime*1000) }}
头像
{{ detail.username }}

公开笔记对他人可见,有机会被管理员评为“优质笔记”

{{ noteEditor.content.length }}/2000

公开笔记
保存
提问

讲师收到你的提问会尽快为你解答。若选择公开提问,可以获得更多学员的帮助。

记录时间点
记录提问时视频播放的时间点,便于后续查看
公开提问
提交