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 查看反汇编代码,=>指向下一句汇编指令
posted @ 2022-08-02 14:50  极客子羽  阅读(565)  评论(0编辑  收藏  举报