您的位置:首页 > 房产 > 家装 > 室内设计效果图价格_关键词排名优化免费_推广方式_网站排名大全

室内设计效果图价格_关键词排名优化免费_推广方式_网站排名大全

2025/4/25 11:46:28 来源:https://blog.csdn.net/qq_45797625/article/details/147192434  浏览:    关键词:室内设计效果图价格_关键词排名优化免费_推广方式_网站排名大全
室内设计效果图价格_关键词排名优化免费_推广方式_网站排名大全

目录

    • 一、VS Code汇编文件添加断点
    • 二、VS Code断点调试功能简介
      • 1. 设置断点
        • (1) 单行断点
        • (2) 条件断点
        • (3) 日志断点
      • 2. 查看断点列表
      • 3. 调试时的断点控制
      • 4. 禁用/启用断点
      • 5. 删除断点
      • 6. 条件断点的使用
      • 7. 多线程调试
      • 8. 远程调试
      • 9. 调试配置文件

一、VS Code汇编文件添加断点

最近通过VSCode通过QEMU调试汇编代码时,发现不能对 .S 汇编文件里面的代码添加断点,但是 .cpp .h 文件却可以正常添加
于是经过一番摸索,发现可以在在设置里面打开如下选项,就可以愉快的对汇编文件添加断点并调试了
在这里插入图片描述
在这里插入图片描述
气氛都烘托到这里了,于是简单介绍下VSCode的断点调试功能吧

二、VS Code断点调试功能简介

Visual Studio Code(VS Code)提供了强大的调试功能,下面简单讲讲 VS Code 断点功能

1. 设置断点

在 VS Code 中,通过点击代码行号左侧的灰色区域来设置断点。点击一个行号旁边的灰色区域时,会出现一个红点,表示断点已设置。

(1) 单行断点

点击某一行代码的行号旁边的空白区域,即可设置一个单行断点。
图片

(2) 条件断点

右键点击已设置的断点,可以选择设置条件(例如,在特定变量值为真时暂停)。条件断点可以仅在某些条件满足时暂停程序。
图片

(3) 日志断点

日志断点不会暂停程序,但会在断点触发时输出日志。鼠标移动到行号左边,出现淡红色小点,此时不要左键添加断点,直接按下右键,选择“添加记录点”,然后输入想打印的信息
在这里插入图片描述

2. 查看断点列表

在左侧的活动栏中,点击“运行和调试”图标(通常是一个播放按钮),然后点击断点(Bugs 图标),可以看到所有已设置的断点,这可以更方便地管理断点,查看断点的状态(启用或禁用)
在这里插入图片描述

3. 调试时的断点控制

在调试过程中,VS Code 提供了多个与断点相关的控制按钮:

  • 继续执行:按 F5 或点击“继续”按钮,程序会运行到下一个断点或直到程序结束。
  • 单步跳过:按 F10 或点击“单步跳过”按钮,程序会执行当前行代码,并跳过当前行调用的任何函数。
  • 单步进入:按 F11 或点击“单步进入”按钮,程序会进入当前行调用的函数,并在函数内部停下。
  • 单步跳出:按 Shift + F11 或点击“单步跳出”按钮,程序会跳出当前函数,回到函数调用的地方。
  • 重启程序
  • 停止程序
    在这里插入图片描述

4. 禁用/启用断点

可以选择禁用某个断点,而不是完全删除它,这样可以临时停用断点,但在以后仍然可以恢复使用。右键点击断点,可以选择“禁用断点”。

5. 删除断点

  • 单个删除:右键点击断点并选择“删除断点”来删除单个断点。
  • 全部删除:在“运行和调试”面板中,可以选择删除所有断点。

6. 条件断点的使用

条件断点允许在满足特定条件时暂停程序。例如,当某个变量的值满足特定条件时,程序才会在此行暂停。设置方法如下:

  1. 右键点击断点,选择“条件”。
  2. 在弹出的对话框中,输入一个表达式(例如:x == 10)。
  3. x == 10 时,程序将暂停。

7. 多线程调试

VS Code 也支持调试多线程程序,支持在调试过程中查看每个线程的状态,并设置断点仅在特定线程中触发。

8. 远程调试

在远程主机上调试程序,设置断点的方法和本地调试一样,只是调试器连接到远程环境

9. 调试配置文件

VS Code 使用 launch.json 文件来配置调试器的行为,可以在 .vscode 文件夹中编辑 launch.json,为不同的调试场景设置断点、环境变量、调试端口等

下面的 launch.json 配置了通过连接QEMU进行调试

{"version": "0.2.0","configurations": [{"name": "(gdb) 启动","type": "cppdbg","request": "launch","program": "${workspaceRoot}/os.elf","args": [],"stopAtEntry": false,"cwd": "${workspaceRoot}","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "x86_64-elf-gdb","miDebuggerServerAddress": "127.0.0.1:1234","targetArchitecture": "x86","stopAtConnect": true,// 启动gdb之前,做些准备:写映像文件、启动qemu"windows": {"preLaunchTask": "启动qemu", // 仅在windows下可自动运行},"linux": {"preLaunchTask": "启动qemu", 	// 仅在windows下可自动运行"miDebuggerPath": "gdb", 		// linux下的特殊配置},"customLaunchSetupCommands": [],"setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "将反汇编风格设置为 Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true},// 设置体系结构: i8086,方便以16位方式进行反汇编{"description": "设置体系结构","text": "-gdb-set arch i8086","ignoreFailures": true}],// gdb连接后的设置"postRemoteConnectCommands": [  {"description": "运行至0x7c00","text": "-exec-until *0x7c00","ignoreFailures": false},],}]
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com