VSCode调试C/C++技巧:使用GDB命令


使用VSCode来调试C/C++工程:使用GDB命令

VSCode调试C/C++技巧:使用GDB命令

VSCode中调试C/C++项目的时候,单纯的执行命令、输出变量可能还不够,很多时候我们需要直接执行GDB的命令,例如检查内存,反汇编等等,此时就需要我们直接执行GDB命令了。

因此,本文就将介绍如何在VSCode调试的时候执行GDB命令

1. VSCode中运行GDB命令:exec

VSCode其实对GDB命令做了一些封装,例如我们可以直接在命令行中输入变量名,然后就会打印出变量的值,亦或者直接执行函数,输出返回值

VSCode封装了GDB命令

但是如果我们要检查特定的内存区域的话,此时VSCode封装的命令就不够看了,此时我们需要直接执行GDB命令

为此,我们在需要执行的GDB命令前添加-exec来指示VSCode将后面的命令视为GDB命令直接交给GDB来运行。例如我们现在要查看内存0xc0001500开始的100个字节的内存数据,那么就可以执行下面的命令

-exec x /100hx 0xc0001500

GDB查看内存

可以看到,0xc0001500处是main函数(严谨的来说,是main符号)的开始地址,为此,我们反汇编这个地址中的数据。即将其中的数据视为指令来进行翻译

-exec disassmble 0xc0001500

使用GDB反汇编出来的代码确实和我特地生成的汇编代码是一样的

image-20221223181724184


文章作者: Jack Wang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Jack Wang !
  目录