From 1a0b063eb010ed8fd25dc6d32b12acde08952e7f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A4=8F=E5=85=8B?=
<31796712+FrankXMX@users.noreply.github.com>
Date: Wed, 21 Sep 2022 11:37:58 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=96=87=E6=A1=A3=EF=BC=8C?=
=?UTF-8?q?=E4=BD=BF=E7=94=A8vscode=E7=BC=96=E8=AF=91=E8=B0=83=E8=AF=95min?=
=?UTF-8?q?iob=E3=80=82=20(#84)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
使用 Windows WSL Ubuntu + VSCODE 开发调试MiniOB
---
docs/how_to_dev_miniob_by_vscode.md | 167 ++++++++++++++++++++++++
docs/images/vscode_C++_plugs_detail.png | Bin 0 -> 29803 bytes
docs/images/vscode_break_point.png | Bin 0 -> 83507 bytes
docs/images/vscode_build_ouput.png | Bin 0 -> 48193 bytes
docs/images/vscode_cmake.png | Bin 0 -> 96406 bytes
docs/images/vscode_debug_miniob.png | Bin 0 -> 191919 bytes
docs/images/vscode_search_plugs.png | Bin 0 -> 27385 bytes
7 files changed, 167 insertions(+)
create mode 100644 docs/how_to_dev_miniob_by_vscode.md
create mode 100644 docs/images/vscode_C++_plugs_detail.png
create mode 100644 docs/images/vscode_break_point.png
create mode 100644 docs/images/vscode_build_ouput.png
create mode 100644 docs/images/vscode_cmake.png
create mode 100644 docs/images/vscode_debug_miniob.png
create mode 100644 docs/images/vscode_search_plugs.png
diff --git a/docs/how_to_dev_miniob_by_vscode.md b/docs/how_to_dev_miniob_by_vscode.md
new file mode 100644
index 0000000..29d7de4
--- /dev/null
+++ b/docs/how_to_dev_miniob_by_vscode.md
@@ -0,0 +1,167 @@
+# 环境准备
+## 运行环境
+* 操作系统
+
+```bash
+frank@DESKTOP-6NF3B9K:~/git/miniob$ cat /etc/os-release
+NAME="Ubuntu"
+VERSION="20.04.5 LTS (Focal Fossa)"
+ID=ubuntu
+ID_LIKE=debian
+PRETTY_NAME="Ubuntu 20.04.5 LTS"
+VERSION_ID="20.04"
+HOME_URL="https://www.ubuntu.com/"
+SUPPORT_URL="https://help.ubuntu.com/"
+BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
+PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
+VERSION_CODENAME=focal
+UBUNTU_CODENAME=focal
+```
+注:这里直接用的windows的WSL,
+
+## 软件要求
+1. vscode
+2. cmake
+3. make
+4. gcc/g++
+
+3. libevent
+5. googletest
+6. jsoncpp
+7. git
+
+## 获取代码
+```bash
+git clone https://github.com/oceanbase/miniob.git
+```
+## 安装软件
+可以参考miniob/docs/how\_to\_build.md。
+
+
+
+# vscode配置
+使用vscode打开miniob工程目录。
+
+```bash
+cd miniob
+code .
+```
+## 安装插件
+|![image](images/vscode_search_plugs.png)|![image](images/vscode_C++_plugs_detail.png)
|
+| ----- | ----- |
+
+## 配置编译tasks.json
+> 在工程的.vscode目录下新建tasks.json
+
+```json
+{
+ "options": {
+ "cwd": "${workspaceFolder}/build"
+ },
+ "tasks": [
+ {
+ "label": "cmake",
+ "command": "cmake",
+ "args": [
+ "-DDEBUG=ON",
+ ".."
+ ]
+ },
+ {
+ "label": "make",
+ "command": "make"
+ },
+ {
+ "label": "CMake Build",
+ "dependsOn": [
+ "cmake",
+ "make"
+ ]
+ }
+ ],
+ "version": "2.0.0"
+}
+```
+注意:
+
+* options:cmake临时文件的目录
+* args:cmake需要的参数
+
+## 配置调试launch.json
+> 在工程的.vscode目录下新建launch.json
+
+```json
+{
+ // 使用 IntelliSense 了解相关属性。
+ // 悬停以查看现有属性的描述。
+ // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "(gdb) 启动",
+ "type": "cppdbg",
+ "request": "launch",
+ "program": "${workspaceFolder}/build/bin/observer",
+ "args": ["-f", "../../etc/observer.ini"],
+ "stopAtEntry": false,
+ "cwd": "${fileDirname}",
+ "environment": [],
+ "externalConsole": false,
+ "MIMode": "gdb",
+ "setupCommands": [
+ {
+ "description": "为 gdb 启用整齐打印",
+ "text": "-enable-pretty-printing",
+ "ignoreFailures": true
+ },
+ {
+ "description": "将反汇编风格设置为 Intel",
+ "text": "-gdb-set disassembly-flavor intel",
+ "ignoreFailures": true
+ }
+ ],
+ "preLaunchTask": "CMake Build"
+ }
+ ]
+}
+```
+注意:
+
+* program:编译出来的可执行文件
+* args:运行参数
+* preLaunchTask:`"label": "CMake Build"` 对应
+
+
+
+# 演示
+* 重新使用vscode打开,打开后会自动运行tasks的cmake。
+
+![image](images/vscode_cmake.png)
+
+* 设置断点、启动调试
+
+![image](images/vscode_break_point.png)
+
+注意:启动是会触发make,对工程进行编译。因为是单线程编译,所以第一次惦记启动gdb时需要时间较长,后续如果没有修改源码的操作,则直接踢动gdb进行调试。如果想使用多线程编译可以在tasks.json中配置make参数。
+
+```json
+ {
+ "label": "make",
+ "command": "make",
+ "args": [
+ "-j",
+ "4"
+ ]
+ },
+```
+args中配置相当于make -j 4
+
+终端输出如下:
+
+![image](images/vscode_build_ouput.png)
+
+* 调试
+
+![image](images/vscode_debug_miniob.png)
+
+注意:同种标记部分包括调试常用的功能,如:查看变量、调用栈、断点,以及n, s, finish, r等命令。
diff --git a/docs/images/vscode_C++_plugs_detail.png b/docs/images/vscode_C++_plugs_detail.png
new file mode 100644
index 0000000000000000000000000000000000000000..8a9dd54778f9cff809af1ea28ac2d14b815f2bcd
GIT binary patch
literal 29803
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