Browse Source

vsCode 调试

pull/1772/head
刘康 4 years ago
parent
commit
9a0b75e1a4
14 changed files with 57 additions and 6 deletions
  1. +49
    -0
      scripts/debug.md
  2. +2
    -2
      scripts/env/ge_env.sh
  3. +1
    -0
      scripts/ge.sh
  4. BIN
      scripts/images/C++_select.png
  5. BIN
      scripts/images/C_C++_install.png
  6. BIN
      scripts/images/add_config.png
  7. BIN
      scripts/images/add_vscode.png
  8. BIN
      scripts/images/debug.png
  9. BIN
      scripts/images/docker_image_list.png
  10. BIN
      scripts/images/first_add_config.png
  11. BIN
      scripts/images/modify_json.png
  12. BIN
      scripts/images/modify_json_complete.png
  13. +4
    -3
      scripts/readme.md
  14. +1
    -1
      scripts/update/ge_update.sh

+ 49
- 0
scripts/debug.md View File

@@ -0,0 +1,49 @@
# vsCode 开发环境搭建指南
## 安装vsCode扩展
>### 安装docker插件
>在vsCode扩展中心搜索docker,安装docker扩展,安装完成后,会在左侧显示docker的图标,切换至docker,会看到当前创建的docker 的 container 以及 container 下的image列表。
>
>![docker_image_list](images/docker_image_list.png)
>
>选择一个Image,右键选择 Attach Vidual Studio Code,(如果镜像不在运行状态,右键 start)
>
>![add_vscode_schema](images/add_vscode.png)
>
>### 安装C/C++插件
>
>在vsCode中使用断点进行调试,需要在链接到docker镜像之后重新安装C/C++扩展。
>
>![C_C++_install](images/C_C++_install.png)

## vsCode进行断点调试
>
>### 配置lanuch.json。
>
>点击菜单栏中的【运行】|【添加配置...】
>
>![first_add_config](images/first_add_config.png)
>
>弹出下列选择窗口,选择【C++(GDB/LLDB)】,vscode会自动打开lanuch.json:
>
>![C++_select](images/C++_select.png)
>
>在这里,只需要配置两个参数,一是将【program】参数配置成可调式文件的全路径。第二个是将【name】参数也更改为自己容易区分的名称。
>如下图,配置了ut_libgraph的调试信息:
>**注:这里的workspaceFolder(当前打开文件夹的目录)为/code/Turing/graphEngine**
>
>![modify_json](images/modify_json.png)
>
>vsCode可以添加多个调试文件,点击添加配置,会弹出如下选项列表,选择【C/C++:(gdb)启动】:
>
>![add_debug_config](images/add_config.png)
>
>依然是更改【program】与【name】两个参数。根据上述方式将需要调试的可执行文件添加到配置文件中。
>完成配置后,在vsCode最左侧,切换到运行和调试,如下所示选择一个自己需要调试的文件进行调试。
>
>![modify_json_complete](images/modify_json_complete.png)
>
>### vsCode 调试示例
>根据调试需要在对应源代码中添加断点,最终调试效果如下:
>
>![debug](images/debug.png)

+ 2
- 2
scripts/env/ge_env.sh View File

@@ -21,7 +21,7 @@ MOUNT_PROJECT_HOME=$(cd $PROJECT_HOME || return; pwd)

DOCKER_BUILD_ENV_NAME=${MOUNT_PROJECT_HOME#*/}
DOCKER_BUILD_ENV_NAME=${DOCKER_BUILD_ENV_NAME//\//\_}
DOCKER_IMAGE_TAG=ge_build_env.1.0.6
DOCKER_IMAGE_TAG=ge_build_env.1.0.7
DOCKER_IAMGE_NAME=joycode2art/turing
DOCKER_FULL_IMAGE_NAME=${DOCKER_IAMGE_NAME}:${DOCKER_IMAGE_TAG}

@@ -61,7 +61,7 @@ function enter_docker_env(){
if test -z "$(docker images |grep ${DOCKER_IAMGE_NAME} | grep ${DOCKER_IMAGE_TAG})"; then
echo "please run 'ge env --pull' to download images first!"
elif test -z "$(docker ps -a |grep ${DOCKER_BUILD_ENV_NAME})"; then
$docker_cmd run -it -v ${MOUNT_PROJECT_HOME}:/code/Turing/graphEngine --workdir ${docker_work_dir} --name ${DOCKER_BUILD_ENV_NAME} ${DOCKER_FULL_IMAGE_NAME} ${docker_bash_dir}
$docker_cmd run --privileged -it -v ${MOUNT_PROJECT_HOME}:/code/Turing/graphEngine --workdir ${docker_work_dir} --name ${DOCKER_BUILD_ENV_NAME} ${DOCKER_FULL_IMAGE_NAME} ${docker_bash_dir}
elif test -z "$(docker ps |grep ${DOCKER_BUILD_ENV_NAME})"; then
$docker_cmd start ${DOCKER_BUILD_ENV_NAME}
$docker_cmd exec -w ${docker_work_dir} -it ${DOCKER_BUILD_ENV_NAME} ${docker_bash_dir}


+ 1
- 0
scripts/ge.sh View File

@@ -17,6 +17,7 @@
GE_BASH_HOME=$(dirname "$0")
export PROJECT_HOME=${PROJECT_HOME:-${GE_BASH_HOME}/../}
PROJECT_HOME=$(cd $PROJECT_HOME || return; pwd)
export ASCEND_CUSTOM_PATH=${PROJECT_HOME}/deps/lib

function help(){
cat <<-EOF


BIN
scripts/images/C++_select.png View File

Before After
Width: 1337  |  Height: 361  |  Size: 48 kB

BIN
scripts/images/C_C++_install.png View File

Before After
Width: 1924  |  Height: 1026  |  Size: 249 kB

BIN
scripts/images/add_config.png View File

Before After
Width: 1207  |  Height: 482  |  Size: 126 kB

BIN
scripts/images/add_vscode.png View File

Before After
Width: 656  |  Height: 631  |  Size: 28 kB

BIN
scripts/images/debug.png View File

Before After
Width: 1919  |  Height: 1008  |  Size: 211 kB

BIN
scripts/images/docker_image_list.png View File

Before After
Width: 627  |  Height: 595  |  Size: 26 kB

BIN
scripts/images/first_add_config.png View File

Before After
Width: 757  |  Height: 644  |  Size: 58 kB

BIN
scripts/images/modify_json.png View File

Before After
Width: 857  |  Height: 701  |  Size: 46 kB

BIN
scripts/images/modify_json_complete.png View File

Before After
Width: 628  |  Height: 693  |  Size: 30 kB

+ 4
- 3
scripts/readme.md View File

@@ -42,9 +42,10 @@ $ ./ge.sh env
```

3.下载和安装构建所依赖的外部库
```sh
$ ge update
```

```sh
$ ge update
```
(注:进入容器后,`ge`命令已经自动注册进系统,因此容器内不需要写脚本全称)

4.执行测试,默认执行单元测试用例,`ge test`会自动触发构建


+ 1
- 1
scripts/update/ge_update.sh View File

@@ -38,7 +38,7 @@ function extract_deps_so_community()
{
echo "begin to extract .run file ........."
chmod +x ./${DRIVER_RUN_NAME_C}
chmod +X ./${PACKAGE_NAME_C}
chmod +x ./${PACKAGE_NAME_C}
[ -n "${DEP_TMP_DIR}" ] && rm -rf "${DEP_TMP_DIR}"
./${DRIVER_RUN_NAME_C} --noexec --extract=${DEP_TMP_DIR}/driver
./${PACKAGE_NAME_C} --noexec --extract=${DEP_TMP_DIR}/Packages_tmp


Loading…
Cancel
Save