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

时间:2022-01-24 22:44:08

目标:

连接远程主机 (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