首页 > 其他分享 >VSCode设置GDB

VSCode设置GDB

时间:2024-04-15 09:33:05浏览次数:23  
标签:Code launch VSCode gdb GDB 设置 调试 调试器

VSCode 设置 GDB 调试工具

调试 Linux 平台应用

这里需要注意的我们的在 CMake 编译可执行程序时,需要加设置DEBUG模式。
例如:

  1. 通过命令行的方式
cmake  -DCMAKE_BUILD_TYPE=Debug ..
  1. CMakeLists.txt 设置
set(CMAKE_BUILD_TYPE "Debug")

linux 下验证应用程序是否为 debug 版本:

readelf -S test | grep debug

VSCode 创建调试启动文件

【Run(Ctrl + Shift + D)】-> 【create a launch.json file】-> 【C++ (GDB/LLDB)】

然后设置launch.json文件。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/exec",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

这是 Visual Studio Code 的配置文件 launch.json 的内容,专门用于配置 C++调试器。这个文件告诉 VS Code 如何启动调试器以及调试器的行为。下面是文件中各个选项的含义(以下参数描述由 ChatGPT4 生成):

  • version: 指定了 launch 配置的版本号。这对于 VS Code 来说很重要,以便了解如何解析和使用配置文件。

  • configurations: 这是一个配置数组,每个配置都是一个可以启动的调试会话。在这个例子中,只有一个配置。

配置对象的属性:

  • name: 这是用户在选择调试配置时看到的名称,在这里是“(gdb) 启动”。这通常会在 VS Code 界面的调试启动配置下拉菜单中显示。

  • type: 表示调试器的类型,这里是 cppdbg,表明这是一个 C++的调试配置。

  • request: 指定调试会话的类型,这里是 launch,意味着 VS Code 将会启动一个新的调试会话。另一种可能的值是 attach,表示附加到一个已经运行的进程。

  • program: 指定了要调试的可执行文件的路径。${workspaceFolder}是一个变量,它会被替换为当前打开的工作区(项目)的根文件夹路径。这里假设可执行文件位于工作区的 build/exec 路径下。

  • args: 这是一个数组,包含传递给程序的命令行参数。在这个例子中,它是空的。

  • stopAtEntry: 如果设置为 true,则调试器会在程序入口点(通常是 main 函数)暂停。在这个例子中,它被设置为 false。

  • cwd: 表示当前工作目录,即程序启动时的目录。${workspaceFolder}表示程序将在工作区的根目录中启动。

  • environment: 这是一个数组,用于设置环境变量。数组中的每个元素都是一个包含 name 和 value 的对象。在这个例子中,该数组是空的。

  • externalConsole: 如果设置为 true,则程序将在新的控制台窗口中运行。这对于需要输入或查看控制台输出的程序很有用。在这个例子中,它被设置为 false,意味着输出将在 VS Code 的内置终端中显示。

  • MIMode: 指定了调试器接口,这里是 gdb,表示 GNU 调试器。

  • setupCommands: 这是一个数组,包含在启动调试会话时自动发送给调试器的命令。在这个例子中,只有一个命令-enable-pretty-printing,它指示 gdb 启用整齐打印功能,使得复杂的数据结构(如 C++ STL 容器)的输出更易于阅读。

  • description: 命令的描述,这里是“为 gdb 启用整齐打印”。

  • text: 要发送给调试器的实际命令文本。

  • ignoreFailures: 如果设置为 true,即使命令失败,调试器的启动也不会被阻止。在这里,它被设置为 true。

这个配置文件是为了使用 gdb 调试 C++程序时的 VS Code 设置。用户可以根据自己的需要修改这些设置。

标签:Code,launch,VSCode,gdb,GDB,设置,调试,调试器
From: https://www.cnblogs.com/sheephuan/p/18135136

相关文章

  • STS设置
    STS设置编码格式window--->Preferences-->搜索encoding:把里面的全部改为UTF-8格式。设置字体大小格式切换模式设置背景色快捷键/* 快捷键*alt+/ 提示内容的快捷键*crtl+/ 单行注释*ctrl+shift+/ 多行注释*main+alt+/ 主方法快捷键*syso+al......
  • 苹果(MAC)操作系统(OSX)上设置Python3为Python命令启动的方式
    通过HomeBrew安装的Python启动命令为Python3,pip3HomeBrew安装Python的命令为:brewinstallpython然而,很多脚本里Python的启动命令为Python如何使OSX上的Python3命令通过Python启动呢?1.执行下列命令brewinfopython会得到如下输出信息:==>[email protected]:stable3......
  • Android 11--设置第三方Launcher并默认 与 如何预置apk
    1.0Ver/frameworks/base/core/java/com/android/internal/app/ResolverActivity.java+privatevoidsetDefaultLauncher(){+try{+finalPackageManagerpm=getPackageManager();++//StringdefPackageName="com.android......
  • Mybatis.xml中何时需要写ResultMap映射,什么时候需要给字段设置别名呢
    日常开发中,我们需要在mybatis.xml文件中,将数据库的查询结果映射到实体类中,那何时需要给字段起别名,何时不需要呢?总是不太清晰,接下来梳理记录一下。 至于一般什么时候,使用resultMap,一版什么时候使用别名呢,如果实体的每个字段都和数据库中的字段名称是不一样的,那一般就采用的是R......
  • 在centos7下面,安装mysql,并设置 用户名为henry
    好的,以下是在CentOS7下安装MySQL并完成你所要求的操作的详细步骤:1.**安装MySQL**:首先,使用`yum`包管理器安装MySQL:sudoyuminstallmysql-server 2.**启动MySQL服务**:安装完成后,启动MySQL服务:sudosystemctlstartmysqld 3.**设置MySQL开机自启......
  • vscode使用gdb插件调试二进制文件
    使用vscode访问虚拟机里面的代码。代码是在虚拟机的xshell编译的(必须的debug模式)。现在可以通过在vscode下面安装gdb插件。然后就可以在vscode下面使用gdb来启动这个二进制文件了,还可以在vscode里面,在函数上面打断点。 在vscode左侧栏,点击debug,可以创建launch.json文件。......
  • Vscode配置.md
    Vscode配置1.远程SSH配置1.1本地vscode安装Remote-SSH和RemoteX11插件1.2设置本地vscodeRemote-SSH按如下步骤打开remote-ssh设置加入如下字段比如你的服务器地址是192.168.133.111,用户名是aaaHostsdfasdf#这里可以随便取一个名字HostName192.168.133.111Fo......
  • VSCode使用Go插件
    本文更新于2023-12-26,使用VSCode1.85.1、Go插件v0.40.1。安装Go插件:使用Ctrl+Shift+X打开扩展面板,搜索“Go”,安装“Go”插件(GoforVisualStudioCode)。安装Go插件的依赖工具:因国内无法访问proxy.golang.org,故需自行配置模块代理。运行cmd。在cmd中运行setGOPROXY=h......
  • 设置 Windows Media Player 推荐设置的注册表文件
    设置WindowsMediaPlayer推荐设置的注册表文件示例:plaintextCopyCodeWindowsRegistryEditorVersion5.00[HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Preferences]"AcceptSearch"=dword:00000001"AcceptedEULA"=dword:00000001"Accepte......
  • 虚拟机Centos设置静态ip
    NAT模式相当于宿主机内部的一个虚拟网络,与宿主机公用一个IP.桥接相当于和宿主机平行,独立的IP和网卡.1设置开机自启#vi/etc/sysconfig/network-scripts/ifcfg-ens33将no改为yes#ONBOOT=yes#systemctlrestartnetwork#重启网络2下载网络工具如果有就不需要安装了......