vscode调试 反汇编c/c++ 查看汇编代码gdb/lldb

先看下流程!
先看下流程!
有问题请留言!

调试的时候为什么进行反汇编,而不查看汇编后的代码?

  1. 没有源码。我们引用的是动态库,编译后没有不包含源代码,在运行时才进行加载。
  2. 我只需要关注当前运行时的代码,而不必关注全部的代码

必备

使用c/c++ 插件,这应该是必备的。

在这里插入图片描述

F5开启调试

左侧侧边栏->确保打开回调栈

在这里插入图片描述

右键函数栈->查看反汇编

在这里插入图片描述

方法二:手动输入命令查看

开启调试后,在调试的debug控制台进行手动命令调试
gdb 命令
-exec dis /m 函数名 dis = disassembly 反汇编的缩写,/m mixed源代码和汇编代码对照显示
lldb命令
-exec dis -m -n 函数名

在这里插入图片描述

如果在VS Code中没有C++GDBLLDB调试器,你可以按照以下步骤进行设置: 1. 首先,确保你已经安装了GDBLLDB调试器。你可以在终端中运行以下命令来检查它们是否安装: ``` gdb --version lldb --version ``` 如果没有安装,你可以使用包管理器(如apt、yum、brew等)来安装它们。 2. 安装C/C++扩展:打开VS Code并导航到"Extensions"(或按下Ctrl+Shift+X),搜索并安装名为"C/C++"的扩展。 3. 在VS Code中打开你的C++项目。 4. 在项目文件夹中创建一个名为".vscode"的文件夹(如果不存在),然后在其中创建一个名为"launch.json"的文件。 5. 在"launch.json"文件中添加以下配置(用于GDB调试器): ```json { "version": "0.2.0", "configurations": [ { "name": "C++ Launch (GDB)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/<可执行文件名>", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "miDebuggerPath": "<GDB可执行文件路径>" } ] } ``` 替换`<可执行文件名>`为你的C++可执行文件的名称,`<GDB可执行文件路径>`为你的GDB可执行文件的路径。 6. 如果你使用的是LLDB调试器,可以使用以下配置(替换`<LLDB可执行文件路径>`): ```json { "version": "0.2.0", "configurations": [ { "name": "C++ Launch (LLDB)", "type": "lldb", "request": "launch", "program": "${workspaceFolder}/<可执行文件名>", "args": [], "cwd": "${workspaceFolder}", "externalConsole": false, "preLaunchTask": "build", "miDebuggerPath": "<LLDB可执行文件路径>" } ] } ``` 替换`<可执行文件名>`为你的C++可执行文件的名称,`<LLDB可执行文件路径>`为你的LLDB可执行文件的路径。 7. 保存"launch.json"文件。 8. 现在你可以在VS Code的调试选项卡中选择C++调试器配置,并点击启动按钮开始调试。 这样,你就可以在VS Code中使用GDBLLDB调试调试你的C++代码了。如果你遇到任何问题,请提供详细的错误信息,以便我能够更好地帮助你。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值