当前位置:   article > 正文

在VS Code中调试并查看内存地址_vscode 内存地址 查看命令

vscode 内存地址 查看命令

1. 创建调试配置文件

打开VSCode,在项目目录下按下F5,VSCode就会在目录下生成.vscode配置文件夹,修改其中的launch.json为如下代码

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "gdb调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\build\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-win32-seh-rt_v6-rev0\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

注:修改其中的miDebuggerPath为自己系统中gdb的地址

2. 在项目代码中添加内存打印的代码

void memory_dump(void *ptr, int len) {
    int i;
    printf("%p\n", ptr);
    for (i = 0; i < len; i++) {
        if (i % 8 == 0 && i != 0)
            printf(" ");
        if (i % 16 == 0 && i != 0)
            printf("\n");
        printf("%02x ", *((uint8_t *)ptr + i));
    }
    printf("\n");
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

并在需要访问内存的地方执行这段代码。
如下图所示:
在这里插入图片描述

3. 在build文件夹中生成项目

创建CMakeLists.txt,内容如下:

cmake_minimum_required(VERSION 2.8)
project(array)
set(CMAKE_BUILD_TYPE "Debug")

add_executable(${PROJECT_NAME} array.cpp)
  • 1
  • 2
  • 3
  • 4
  • 5

在终端中执行cmake:

cmake -S . -B ./build -G "MinGW Makefiles"
cmake --build ./build
  • 1
  • 2

4. 打断点,按F5开始调试

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/160878
推荐阅读
相关标签
  

闽ICP备14008679号