服务器之家

服务器之家 > 正文

vscode C++远程调试运行(学习C++用)

时间:2021-08-30 13:20     来源/作者:兰彻斯特

目标:

连接远程主机 (ssh)
配置C++编译环境 (输出结果后删除二进制文件)

vscode C++远程调试运行(学习C++用)

步骤:

安装Remote SSH,连接远程主机

Visual Studio 官方文档

https://code.visualstudio.com/docs/remote/ssh

图标

2. 配置C++编译运行环境

主要参考下面两篇文档

https://code.visualstudio.com/docs/cpp/config-wsl

https://code.visualstudio.com/docs/editor/tasks

2.1 新建一个C++源文件HelloWorld.cpp(测试用)

  1. #include <iostream>
  2.  
  3. int main(){
  4. std::cout<<"Hello World!\n";
  5. return 0;
  6. }

2.2 安装 Microsoft C/C++插件

注意安装到远程主机上

2.3 创建tasks.json文件

从菜单栏选择Terminal>Configure Default Build Task, 在下拉栏里选择C/C++: g++ build active file. 这会生成tasks.json文件。

vscode C++远程调试运行(学习C++用)

按需修改tasks.json文件:

  1. {
  2. "tasks": [
  3. {
  4. //编译源文件
  5. "type": "shell",
  6. "label": "g++ build active file",
  7. "command": "/usr/bin/g++",
  8. "args": [
  9. "-std=c++11", //C++版本, 可不加
  10. "-g",
  11. "${file}",
  12. "-o",
  13. "${fileDirname}/${fileBasenameNoExtension}"
  14. ],
  15. "options": {
  16. "cwd": "/usr/bin"
  17. },
  18. "problemMatcher": [
  19. "$gcc"
  20. ],
  21. "group": {
  22. "kind": "build",
  23. "isDefault": true
  24. }
  25. },
  26. { //删除二进制文件
  27. "type": "shell",
  28. "label": "delete output file",
  29. "command": "rm",
  30. "args": [
  31. "${fileDirname}/${fileBasenameNoExtension}"
  32. ],
  33. "presentation": {
  34. "reveal": "silent", //删除过程不切换终端(专注程序输出)
  35. }
  36. }
  37. ],
  38. "version": "2.0.0"
  39. }

2.4 创建launch.json用于调试运行

在菜单栏选择Debug>Add Configuration, 选择C++ (GDB/LLDB), 在下拉栏中选择g++ build and debug active file.

vscode C++远程调试运行(学习C++用)

这会创建launch.json, 编辑如下

  1. {
  2. "version": "0.2.0",
  3. "configurations": [
  4. {
  5. "name": "g++ build and debug active file",
  6. "type": "cppdbg",
  7. "request": "launch",
  8. "program": "${fileDirname}/${fileBasenameNoExtension}",
  9. "args": [],
  10. "stopAtEntry": false,
  11. "cwd": "${workspaceFolder}",
  12. "environment": [],
  13. "externalConsole": false,
  14. "MIMode": "gdb",
  15. "setupCommands": [
  16. {
  17. "description": "Enable pretty-printing for gdb",
  18. "text": "-enable-pretty-printing",
  19. "ignoreFailures": true
  20. }
  21. ],
  22. "preLaunchTask": "g++ build active file",
  23. "postDebugTask": "delete output file",
  24. "miDebuggerPath": "/usr/bin/gdb"
  25. }
  26. ]
  27. }

注:这里“preLaunchTask”调用tasks.json文件里定义的“g++ build and debug active file”任务, “postDebugTask”调用“delete output file”任务用来在程序运行结束后删除二进制文件。

2.5 调试F5, 不调试直接运行Cltr+F5

总结

到此这篇关于vscode C++远程调试运行(学习C++用)的文章就介绍到这了,更多相关vscode C++远程调试运行内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://zhuanlan.zhihu.com/p/104131448

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部