【debug】vscode配置c/c++环境及查看调试信息m1 mac

之前用的一直是clion 但是经过反复调整,发现始终查看不了vector里面的数值(只有指针地址),改用常用的vscode后调试成功

  • 安装
  1. 安装vscode 以及vscode中的扩展安装
    c/c++,c/c++ extension pack,cmake,cmake tools,code runner,codeLLDB
  2. 打开一个cpp文件,点击运行旁边的小箭头,选择run code,出现调试配置,选择g+±13生成活动文件,会生成tasks.json
  3. 点击调试,选择debug(lldb),会生成launch.json
  4. 扩展中找到code runner点击设置,找到run in terminal,在whether to run code in integrated terminal前打勾,(从而解决cpp运行和调试中无法在终端进行输入的问题)
  • 运行测试

    打开一个cpp文件,点击运行旁边的小箭头,选择run code

  • debug调试测试

    带vector的测试代码如下:

cpp 复制代码
#include<iostream>
#include<stdio.h>
#include<iostream>
#include<map>
#include<vector>
#include<algorithm>
using namespace std;
bool cmp(pair<int,double> a,pair<int,double> b){
 return a.first>b.first;
}
int main(){
 map<int,double> poly;
 map<int,double> ans_poly;
 int m,n,ex;
 double co;

  cin>>n;
  for(int i=0;i<n;i++){
   cin>>ex>>co;
   poly[ex]=co;
  }
 cin>>m;
 for(int i=0;i<m;i++){
   cin>>ex>>co;
  
   for(auto p=poly.begin();p!=poly.end();p++ ){
    int new_ex=(*p).first+ex;
    ans_poly[new_ex]+=((*p).second*co);
    //cout<<(*p).second<<" "<<co<<" "<<(*p).second*co<<endl;
   }
 }
  

 vector<pair<int,double> > ans(ans_poly.begin(),ans_poly.end());
 sort(ans.begin(),ans.end(),cmp);
 int cnt=0;
 for(auto it=ans.begin();it!=ans.end();it++){
  if((*it).second)
   cnt++;
 }
 cout<<cnt;
  for(auto it=ans.begin();it!=ans.end();it++){
   if((*it).second)
    printf(" %d %.1lf",(*it).first,(*it).second);
  
 }
 return 0;
}
cpp 复制代码
输入:
2 1 2.4 0 3.2
2 2 1.5 1 0.5

输出:(自行验证是否正确)
3 3 3.6 2 6.0 1 1.6

点击运行和调试,选择debug,在第41行前打红色断点,点击绿色箭头开始调试,

同样的在终端输入上述的输入参数,

可以看到vector中的值了

相关推荐
理论最高的吻14 分钟前
77. 组合【 力扣(LeetCode) 】
c++·算法·leetcode·深度优先·剪枝·回溯法
zyx没烦恼26 分钟前
unordered_map和unordered的介绍和使用
开发语言·c++
LuckyRich141 分钟前
【RabbitMq C++】消息队列组件
c++·分布式·rabbitmq
让我们一起加油好吗1 小时前
【C++】模板(初阶)
开发语言·c++·visualstudio·模板·泛型编程
Run_Teenage2 小时前
C++类和对象:运行符重载、取地址运算符重载、const 修饰的类如何作为参数
开发语言·c++
一只小bit2 小时前
More Effective C++:改善编程与设计(上)
开发语言·c++·方法·技巧
李匠20245 小时前
C++GO语言微服务之图片、短信验证码生成及存储
开发语言·c++·微服务·golang
czy87874758 小时前
C语言主要标准版本的演进与核心区别的对比分析
c语言
巨龙之路8 小时前
C语言中的assert
c语言·开发语言
ll77881110 小时前
C++学习之路,从0到精通的征途:继承
开发语言·数据结构·c++·学习·算法