vscode+CMake+Debug实现 及权限不足等诸多问题汇总

news/2025/2/11 3:55:45/

环境说明

有空再补充

直接贴两个json

tasks.json

{"version": "2.0.0","tasks": [{"label": "cmake","type": "shell","command": "cmake","args": ["../"],"options": {"cwd": "${fileDirname}/../build"},            },{"label": "make","type": "shell","command": "make","args": [],"options": {"cwd": "${fileDirname}/../build"}, },{"label": "build","dependsOn":["cmake", "make"]},],
}

为了防止出错,“cwd”: "${fileDirname}/…/build"建议写绝对地址,我的src和build是分开的,大家的不一定和我一样

launch.json

{"version": "0.2.0","configurations": [{"name": "g++ - Build and debug active file","type": "cppdbg","request": "launch","program": "${fileDirname}/../lib/${fileBasenameNoExtension}","args": ["para1", "para2"],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [{"name": "LD_LIBRARY_PATH","value": "${workspaceFolder}/lib:$LD_LIBRARY_PATH"}],"externalConsole": false,"MIMode": "gdb","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}],"preLaunchTask": "build",// "miDebuggerPath": "/usr/bin/gdb""miDebuggerPath": "/home/USERID/Desktop/aheadform/wukong_large/Proj_01/run.sh"}]
}
  • 注意事项
  1. 使用"miDebuggerPath": "/usr/bin/gdb"可能会导致某些接口没有足够权限调用,或者每次需要输入密码的情况发生,故这里改成了 “miDebuggerPath”: “/home/USERID/Desktop/aheadform/xxxx/Proj_01/run.sh”,用一个脚本间接启动gdb,注意这里填脚本的地址,脚本放哪里都行
    #!/bin/bashexec sudo /usr/bin/gdb "$@"
    
    在创建完脚本后,要用
    sudo chmod + x 脚本.sh
    //或者
    sudo chmod 777 脚本.sh
    
    为脚本赋予执行权限
  2. 编译时,可能会出现某某环境变量找不到的现象,"environment"就是用来解决这个的,哪个环境变量找不到,就把它塞进"environment"里,按照
    		{"name": "LD_LIBRARY_PATH","value": "${workspaceFolder}/lib:$LD_LIBRARY_PATH"}
    
    的格式添加需要的环境变量,比如我这里就是LD_LIBRARY_PATH找不到(编译时报错提示电脑不认识.so库的路径)
  3. "program"的值是make生成的可执行文件的路径,不要被我这里误导了,我只是这个工程的环境依赖有点问题,所以生成到lib下面了,如果有同学和我这个奇葩工程一样的,记得修改这一项

http://www.ppmy.cn/news/1571048.html

相关文章

云原生后端|实践?

云原生(Cloud Native)是一种构建和运行应用程序的方法,它充分利用云计算的优势,包括弹性、可扩展性、高可用性和自动化运维。云原生后端开发通常涉及微服务架构、容器化、持续集成/持续部署(CI/CD)、服务网…

算法兵法全略

目录 始计篇 谋攻篇 军形篇 兵势篇 虚实篇 军争篇 九变篇 行军篇 地形篇 九地篇 火攻篇 用间篇 始计篇 夫算法者,国之重器,事之枢机。算之道,诡谲多变,非贤明不能御,非睿智者难通其妙。故为将者&#xff…

mysql 几种启动和关闭mysql方法介绍

https://dev.mysql.com/doc/refman/5.7/en/programs-server.html mysql几种启动方法 方法1、mysqld mysqld指定读取my.cnf配置文件启动,加一个 & 实现后台启动。终端不会被阻塞 ./mysqld --defaults-file/etc/my.cnf &方法2、mysqld_safe ./mysqld_safe …

全志A133 android10 thermal温控策略配置调试

一,功能介绍 Thermal简称热控制系统,其功能是通过temperature sensor(温度传感器)测量当前CPU、GPU等设备的温度值,然后根据此温度值,影响CPU、GPU等设备的调频策略,对CPU、GPU等设备的最大频率…

基于HarmonyOS 3.0的智能理财APP开发方案

以下是基于HarmonyOS 3.0的智能理财APP开发方案,充分利用鸿蒙系统特性实现差异化功能: 一、架构设计 技术栈: - 开发框架:ArkUI 3.0 (声明式UI) - 数据管理:分布式数据服务 - 安全架构:TEE微内核 硬件级加…

MyBatis-Plus快速使用

1.介绍 MyBatis-Plus 是一个基于 MyBatis 的增强工具,旨在简化开发,提高效率。它在 MyBatis 的基础上进行扩展,只做增强不做改变,不会对现有的 MyBatis 构架产生任何影响。 特性和优势 无侵入性:MyBatis-Plus 在 MyB…

洛谷 P2095 营养膳食 C语言

P2095 营养膳食 - 洛谷 | 计算机科学教育新生态 题目描述 Mr.L 正在完成自己的增肥计划。 为了增肥,Mr.L 希望吃到更多的脂肪,然而也不能只吃高脂肪食品,那样的话就会导致缺少其他营养。 Mr.L 通过研究发现:真正的营养膳食规定…

C# ASP.NET程序与 Web services 编程介绍

.NET学习资料 .NET学习资料 .NET学习资料 在当今的软件开发领域,C# 和ASP.NET是构建强大而灵活的 Web 应用程序的重要工具,而 Web services 则为不同应用程序之间的通信和交互提供了便利。下面将详细介绍 C# ASP.NET程序与 Web services 编程。 一、C…