gdb在main第一条汇编指令处打断点
参考文档:
在函数的第一条汇编指令打断点
gdb调试--汇编指令处断点
g++编译main.cpp
在C++项目目录下打开命令行终端,执行编译命令:
g++ -g -o main.o main.cpp
接着,继续执行命令:
gdb main.o
打断 b *main
(gdb) b *main
Breakpoint 1 at 0x1174: file main.cpp, line 16.
(gdb) start
Temporary breakpoint 2 at 0x1174: file main.cpp, line 16.
Starting program: /home/csdn/CLionProjects/ziyu-learn-aqs-cpp/main.o
Breakpoint 1, main () at main.cpp:16
16 {
(gdb) disass
Dump of assembler code for function main():
=> 0x0000555555555174 <+0>: endbr64
0x0000555555555178 <+4>: push %rbp
0x0000555555555179 <+5>: mov %rsp,%rbp
gdb指令 | 说明 |
---|---|
b *main | 把断点设置在汇编指令层次函数的开头 |
start | 开始执行程序,并main函数的停在第一条语句处。 |
run | 连续执行程序,直到遇到断点 |
si | 单步调试汇编指令 |
i b | (info break)查看gdb断点 |
disass | 查看反汇编代码,=>指向下一句汇编指令 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix