Win10专业版使用VSCode调试ITensor项目

16 篇文章 0 订阅
4 篇文章 1 订阅

内容转载自我的博客

1. 安装vscode和wsl子系统

  • 访问vscode官网下载最新稳定的windows版本并安装
  • 为vscode安装扩展C/C++Remote-SSH
  • 在win10专业版中找到启用或关闭windows功能,选择适用于Linux的Windows子系统,根据提示安装后重启系统
  • 在应用商店里面搜索框输入linux,选择匹配的第一个选项点击应用商店搜索linux
  • 在新的页面选择Ubuntu,点击并安装,等待安装完成即可
  • 在开始菜单找到刚才安装好的Ubuntu应用,点击进入会自动配置,等待配置完成即可输入用户名和密码来使用Ubuntu系统
  • 在wsl系统下使用sudo apt-get update && sudo apt-get install make来安装make工具

2. 安装itensor

具体方法见itensor-install/README.md

3. 使用vscode编写代码

3.1 配置vscode

打开vscode,点击左下角的><标志 ><标志
选择Remote-WSL: New Window,然后在新窗口中进行操作,新窗口的左下角标志为下图Remote-WSL: New Window
原窗口可以根据自己需要决定是否关闭;至于Select Python Interpreter可以点击后选择第一个,或者不管它

3.2 windows的文件与wsl系统的文件互相访问

windows读取wsl系统的文件:

  1. 在windows文件管理器进入目录C:\Users\zfb\AppData\Local\Packages\,这里的zfb是用户名,根据每个人的电脑设置不同这个名称也会变化
  2. 在文件夹下找到以CanonicalGroupLimited.UbuntuonWindows开头的那个目录,点击进入,并再选择LocalState文件夹进入
  3. 在文件夹下右键点击rootfs,选择固定到快速访问,之后便可以在左侧快速访问直接进入这个rootfs文件夹了rootfs固定到快速访问
    它里面的目录即为Ubuntu系统的目录,可以直接交互

wsl系统读取windows的文件:
打开Ubuntu应用,也就是一个终端窗口,输入命令cd /mnt/c则进入C盘主路径,同理cd /mnt/d进入D盘主路径,可以通过ls命令来验证

3.3 创建新的文件夹

创建一个新的itensor项目通常要新建一个文件夹
第一种方法
在步骤2中打开的窗口里面,点击菜单栏终端-->新建终端,然后在下面的窗口即可使用命令行创建文件夹(与Ubuntu系统的终端功能用法完全一致),若已经有此终端则不需要新建,直接使用即可终端-->新建终端
第二种方法,不推荐,可能会有问题
在windows资源管理器打开rootfs文件夹,一般再进入home文件夹,zfb文件夹(用户名,根据自己设置的不同而不同)用户名文件夹
在当前目录下新建文件夹即可

3.4 正式编写代码

在vscode的菜单栏点击文件-->打开文件夹,在弹出的窗口选择你要打开的文件夹(一般为上一步创建的文件夹),点击确定即可文件-->打开文件夹
上图中打开的文件夹即为test,在此处右键即可选择新建文件或者文件夹新建文件或者文件夹
这里以test文件夹为例,需要注意的是Makefile文件来源于github下载的itensor压缩包的tutorial/project_template文件夹下,Makefile文件里面的对应变量需要修改(根据步骤2即可),.cpp文件和.h文件根据自己需要修改为自己的代码
下面是最重要的设置路径和任务环节,配置一次即可以后复制过来永久使用

  1. 创建文件夹.vscode,不要忘记前面的.创建文件夹.vscode
  2. .vscode文件夹下为C/C++扩展添加配置文件c_cpp_properties.json,内容如下
{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "/home/zfb/itensor/**"
            ],
            // 修改includePath的第二个值为itensor的安装路径
            // 即options.mk文件所在的目录
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}
  1. .vscode文件夹下添加配置文件tasks.json,内容如下
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "itensor-build",
            "command": "make",
            "args": [],
            "type": "shell"
          },
          {
            "label": "itensor-build-debug",
            "command": "make",
            "args": [
              "debug"
            ],
            "type": "shell"
          },
          {
            "label": "itensor-clean",
            "command": "make",
            "args": [
              "clean"
            ],
            "type": "shell"
          }
    ]
}
  1. .vscode文件夹下添加配置文件launch.json,内容如下
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}-g",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": false,
                }
            ],
            "preLaunchTask": "itensor-build-debug" 
            // 调试会话开始前执行的任务,与tasks.json的label相对应
        }
    ]
}

以上四步执行完毕后的目录如下
项目目录

3.5 编译和运行

第一种方法

  1. 打开main()函数所在的.cpp文件,保证激活的窗口这里为此文件,也可以打开其他文件,但是一定要保证当前编辑器窗口显示的是此文件的代码文件代码
  2. 菜单栏选择调试-->启动调试即可运行此代码(不要设置断点,否则就进入调试了),若出现下图
    调试-->启动调试
    则点击图中的终端即可切换到程序输出结果界面
    点击终端

第二种方法
点击菜单栏的终端-->新建终端,然后在弹出的窗口里面即可使用Ubuntu命令,编译使用make,运行使用./myappname等等
终端-->新建终端

3.6 调试代码

  1. 鼠标移动到你需要暂停的那一行的行号的前面,鼠标指针会变成小手形状,同时会有一个虚的红点,左键点击即可在当前位置设置断点,同理可以在其他位置也添加断点
    设置断点
  2. 菜单栏选择调试-->启动调试即可调试此代码
    调试-->启动调试

上面中间位置的工具栏可以控制进行继续运行直到下一个断点单步跳过单步调试单步跳出重启程序结束调试
左侧可以查看变量的值,鼠标在编辑区的变量上悬停也可以看到变量的值

4. 快速使用

建立在已经熟悉前面三个步骤的基础上,直接新建文件夹test1,然后把.vscode文件夹和里面的文件直接复制到test1文件夹下,在此文件下编写代码,运行调试即可

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 安装nRF5 SDK 首先,需要在您的计算机上安装nRF5 SDK。这是一个包含nRF系列芯片的软件开发工具包。您可以从Nordic Semiconductor官网上下载最新版本的nRF5 SDK。 2. 安装nRF Command Line Tools nRF Command Line Tools是一组命令行工具,可用于编译、烧录和调试nRF芯片。您可以从Nordic Semiconductor官网上下载最新版本的nRF Command Line Tools。 3. 安装Visual Studio Code Visual Studio Code是一款轻量级的代码编辑器,可以在Windows、Linux和Mac OS X平台上运行。您可以从Microsoft官网上下载最新版本的Visual Studio Code。 4. 安装nRF5x-Command-Line-Tools-Extension nRF5x-Command-Line-Tools-Extension是一个Visual Studio Code扩展,可以让您在Visual Studio Code中使用nRF Command Line Tools。您可以在Visual Studio Code的扩展市场中搜索并安装nRF5x-Command-Line-Tools-Extension。 5. 配置Visual Studio Code 在Visual Studio Code中打开您的项目文件夹。按下“Ctrl+Shift+P”或“Cmd+Shift+P”打开命令面板。在命令面板中,输入“Tasks: Configure Task Runner”,然后按下Enter。选择“Create tasks.json file from template”选项。在模板列表中,选择“Others”模板。在打开的tasks.json文件中,添加以下代码: ``` { "version": "2.0.0", "tasks": [ { "label": "Build", "type": "shell", "command": "nrfutil pkg generate --hw-version 52 --sd-req 0x00 --application ./output/merged.hex --application-version 1 ./output/firmware.zip --debug-mode", "group": { "kind": "build", "isDefault": true }, "problemMatcher": [] }, { "label": "Flash", "type": "shell", "command": "nrfjprog --program ./output/merged.hex --reset", "problemMatcher": [] }, { "label": "Erase", "type": "shell", "command": "nrfjprog --eraseall", "problemMatcher": [] }, { "label": "Debug", "type": "shell", "command": "arm-none-eabi-gdb -x ./gdbinit", "problemMatcher": [] } ] } ``` 该代码定义了四个任务:Build、Flash、Erase和Debug。Build任务将生成一个可执行文件(firmware.zip),该文件包含了您的应用程序和其他必要的文件。Flash任务将烧录可执行文件到芯片上。Erase任务将擦除芯片上的所有数据。Debug任务将启动ARM GDB调试器。您可以根据需要修改这些任务。 6. 编写代码 在Visual Studio Code中打开您的项目文件夹。在Visual Studio Code的左侧栏中,选择“Explorer”图标。右键单击空白区域,选择“New File”创建一个新文件。使用您喜欢的编程语言编写代码。保存文件。 7. 编译和烧录代码 按下“Ctrl+Shift+B”或“Cmd+Shift+B”编译代码。这将生成可执行文件。接下来,按下“Ctrl+Shift+P”或“Cmd+Shift+P”,选择“Tasks: Run Task”菜单,然后选择“Flash”任务。这将烧录可执行文件到芯片上。如果需要,您可以使用“Erase”任务擦除芯片上的所有数据。如果需要,您可以使用“Debug”任务启动ARM GDB调试器。 8. 调试代码 在Visual Studio Code中,打开您的代码文件。在代码中插入断点。按下“Ctrl+Shift+P”或“Cmd+Shift+P”,选择“Tasks: Run Task”菜单,然后选择“Debug”任务。这将启动ARM GDB调试器。使用GDB命令调试您的代码。当程序执行到断点处时,调试器会停止程序。在Visual Studio Code的右侧栏中,选择“Debug”图标。在调试面板中,您可以查看变量、堆栈和其他调试信息。使用调试器工具来单步执行您的代码,查看变量值和堆栈跟踪。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值