Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IEP-374: GCOV Reports view and creation #817

Open
wants to merge 26 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
b60cbf3
initial boilerplate
alirana01 Nov 4, 2022
228164f
IEP-374: openocd started and dumps file now generated
alirana01 Aug 1, 2023
b46d51d
move towards active debug session for gcov
alirana01 Aug 7, 2023
66772dc
added buttons to the debug perspective for generating dumps
alirana01 Aug 29, 2023
a65fa9f
added required gcov dialog dependency and fixed button addition
alirana01 Aug 31, 2023
26da993
Using reflections to add the required inputs to internal gcov dialog
alirana01 Sep 6, 2023
4fafdd1
clean up and javadocs
alirana01 Sep 6, 2023
506305f
cleanup unused class
alirana01 Sep 6, 2023
81c1472
missed dependency added again, was removed during conflict resolution
alirana01 Sep 7, 2023
6b290bf
fixed file format
alirana01 Sep 7, 2023
aed14f2
coderabitai: comment resolution
alirana01 Sep 7, 2023
5c286e8
coderabbitai: enhancement to logging
alirana01 Sep 7, 2023
05ea147
Exported strings to the messages file for dynamic language
alirana01 Sep 7, 2023
7ed186c
added required dependencies for ui tests
alirana01 Sep 7, 2023
0ab584f
Revert "added required dependencies for ui tests"
alirana01 Sep 7, 2023
b5c2381
coderabbitai: enhancement to throw exception for null
alirana01 Sep 7, 2023
cdc120a
added update sites to the target group
alirana01 Sep 13, 2023
83b4581
added gcov feature group
alirana01 Sep 13, 2023
c3a6e21
removing unwanted deps
alirana01 Sep 13, 2023
5af363b
review comments
alirana01 Sep 13, 2023
a5b71a6
coderabbitai suggestions and code cleanup
alirana01 Sep 13, 2023
e9289a8
string externalization and added action to view
alirana01 Sep 13, 2023
1076037
docs: Updated documentation file and added images
alirana01 Sep 19, 2023
4bac3ff
refactor: incorporate CodeRabbitAI review to improve readability and …
alirana01 Sep 19, 2023
0f1d826
remove: delete unwanted file DS_Store
alirana01 Sep 19, 2023
2519d20
docs: add Chinese translation
Lindazhxy Feb 20, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ To get a quick understanding about ESP-IDF and Eclipse plugin features check our
* [ Device Firmware Upgrade (DFU) through USB ](#deviceFirmwareUpgrade)<br>
* [ GDBStub Debugging ](#gdbStubDebugging)<br>
* [ Core Dump Debugging ](#coreDumpDebugging)<br>
* [ GCOV Code Coverage and Dump Generation ](#gcovCodeCoverage)<br>
* [ Application Level Tracing ](#appLvlTracing)<br>
* [ ESP-IDF master update](#updateEspIdfMaster)<br>
* [ Partition Table Editor UI for ESP-IDF](#partitionTableEditor)<br>
Expand Down Expand Up @@ -581,6 +582,38 @@ This will enable the core dump debugging and whenever you connect a serial monit

You can view the registers stack trace and even view the value of variables in stack frame. To exit the debug session simply press stop button.

<a name="gcovCodeCoverage"></a>

# GCOV Code Coverage and Dump Generation

The idf eclipse plugin allows you to generate and view the gcov code coverage reports.

For the purpose of the this documentation please use the example project [gcov](https://github.com/espressif/esp-idf/blob/master/examples/system/gcov/).
You can read about the project more in the project [README.MD](https://github.com/espressif/esp-idf/blob/master/examples/system/gcov/README.md) to learn more about the flags required to enable this.

After building and flashing the project you can start a normal debug session using the OpenOCD Launch Configuration. Once the debug session starts and the eclipse switches to the debug prespective you will notice two buttons on the IDF Process Console.
![](docs/images/GcovCodeCoverage/gcov-1.png)

The first button is to generate the instant runtime dump and the second button is to generate the hard coded dump. Based on where your program is you can create a dump. As per the example project the program halts twice for you to generate the hard-coded dump which you can do by pressing the second button.
The instant runtime dump can be generated by pressing the first button after the hard-coded dump is complete.

After your dumps are generated you can right click on the project and select the following option.
`ESP-IDF: View GCOV Files`

![](docs/images/GcovCodeCoverage/gcov-2.png)

This will open a view for you that will show you the dumps that are available for the eclipse to be analyzed.
![](docs/images/GcovCodeCoverage/gcov-3.png)

You can press the refresh button to update the view to show the latest files and use the select project button to select a different project.
Only one name is shown for both gcno and gcda files and only files that have a matching partner file with gcno or gcda are shown here.

You can double click on any shown file and you will receive the following dialog. ![](docs/images/GcovCodeCoverage/gcov-4.png).
You can either select to view the coverage for the selected file only or view the whole coverage
Depending upon what you selected you will either be shown the file and also a view that will contain the whole summary for the coverage.
![Summary View](docs/images/GcovCodeCoverage/gcov-5.png)
![File View](docs/images/GcovCodeCoverage/gcov-6.png)

<a name="deviceFirmwareUpgrade"></a>

# Device Firmware Upgrade (DFU) through USB
Expand Down
68 changes: 51 additions & 17 deletions README_CN.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[![GitHub 发布](https://img.shields.io/github/release/espressif/idf-eclipse-plugin.svg)](https://github.com/espressif/idf-eclipse-plugin/releases/latest)
[![GitHub 发布](https://img.shields.io/github/release/espressif/idf-eclipse-plugin.svg)](https://github.com/espressif/idf-eclipse-plugin/releases/latest)

[English](./README.md)

Expand Down Expand Up @@ -43,6 +43,7 @@ ESP-IDF Eclipse 插件支持 `macOS`、`Window` 和 `Linux` 操作系统。
* [导入一个现有的 Debug 启动配置](#importDebugLaunchConfig)<br>
* [通过 USB 升级设备固件 (DFU)](#deviceFirmwareUpgrade)<br>
* [GDBStub 调试](#gdbStubDebugging)<br>
* [GCOV Code Coverage and Dump Generation](#gcovCodeCoverage)<br>
* [应用层追踪](#appLvlTracing)<br>
* [ESP-IDF master 分支更新](#updateEspIdfMaster)<br>
* [更改语言](#changeLanguage)<br>
Expand All @@ -57,9 +58,9 @@ ESP-IDF Eclipse 插件支持 `macOS`、`Window` 和 `Linux` 操作系统。
IDF Eclipse 插件的运行环境要求如下。

* **Java 11 及以上**:点击<a href= "https://www.oracle.com/technetwork/java/javase/downloads/index.html">这里</a>下载并安装 Java SE
* **Python 3.6 及以上**:点击<a href="https://www.python.org/downloads/">这里</a>下载并安装 Python
* **Eclipse IDE C/C++ 开发工具 2022-06(2021-06 及以上)**:点击<a href= "https://www.eclipse.org/downloads/packages/release/2022-06/r/eclipse-ide-cc-developers">这里</a>下载并安装 Eclipse CDT 安装包
* **Git**:点击<a href ="https://git-scm.com/downloads">这里</a>获得最新 Git
* **Python 3.6 及以上**:点击<a href="https://www.python.org/downloads/">这里</a>下载并安装 Python
* **Eclipse IDE C/C++ 开发工具 2022-06(2021-06 及以上)**:点击<a href= "https://www.eclipse.org/downloads/packages/release/2022-06/r/eclipse-ide-cc-developers">这里</a>下载并安装 Eclipse CDT 安装包
* **Git**:点击<a href ="https://git-scm.com/downloads">这里</a>获得最新 Git
* **ESP-IDF 4.0 及以上**:点击<a href ="https://github.com/espressif/esp-idf/releases">这里</a>克隆 ESP-IDF 仓库

> **Note:** 请确保系统环境 `PATH` 可以访问 Java、Python 和 Git。
Expand All @@ -83,7 +84,7 @@ IDF Eclipse 插件的运行环境要求如下。
* 测试版:https://dl.espressif.com/dl/idf-eclipse-plugin/updates/beta/
* 每日构建版:https://dl.espressif.com/dl/idf-eclipse-plugin/updates/nightly/
* 点击`添加`。
1. 从列表中选择`Espressif IDF`,并按照提示完成所有安装步骤。
1. 从列表中选择`Espressif IDF`,并按照提示完成所有安装步骤。

> **Note:** 本文档中的所有截图均来自 `macOS` 操作系统,但安装步骤同时适用于 `Windows`、`Linux` 和 `macOS` 操作系统。

Expand Down Expand Up @@ -203,7 +204,7 @@ ESP-IDF 的 `idf.py` 工具可以打包 `make flash` 命令和常用指令。用

<a name="ConfigureLaunchTerminal"></a>
# 查看串口输出
为了查看 Eclipse 的串口输出,我们需要在`ESP-IDF 串口监视器`中配置需要监测的串口。本功能已经集成至`IDF 监视器`。更多详情,请见 <a href="https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/api-guides/tools/idf-monitor.html">这里</a>。
为了查看 Eclipse 的串口输出,我们需要在`ESP-IDF 串口监视器`中配置需要监测的串口。本功能已经集成至`IDF 监视器`。更多详情,请见 <a href="https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/api-guides/tools/idf-monitor.html">这里</a>。

1. 点击工具栏中的`打开终端`图标。
1. 从终端下拉菜单中选择`ESP-IDF 串口监视器`。
Expand All @@ -215,7 +216,7 @@ ESP-IDF 的 `idf.py` 工具可以打包 `make flash` 命令和常用指令。用

### ESP-IDF 串口监视器设置

设置 ESP-IDF 串口监视器的字符和行数上限:
设置 ESP-IDF 串口监视器的字符和行数上限:
1. 进入 Eclipse 偏好设置,选择 `乐鑫`
1. 点击 `ESP-IDF 串口监视器设置`
1. 配置 `控制台行宽 (Console Line Width)` 和 `控制台输出上限 (Limit Console Output)`
Expand Down Expand Up @@ -276,7 +277,7 @@ ESP-IDF Eclipse 插件中还集成了一个 CMake 编辑器,允许用户编辑

<a name="idfterminal"></a>
# ESP-IDF 终端
`ESP-IDF 终端`可为用户在 Eclipse 环境中启动一个本地终端窗口。用户可通过`偏好设置`>`C/C++`>`构建`>`环境`配置所有环境变量。本终端窗口的默认工作目录为当前选定的项目或 `IDF_PATH`(如未选定项目)。
`ESP-IDF 终端`可为用户在 Eclipse 环境中启动一个本地终端窗口。用户可通过`偏好设置`>`C/C++`>`构建`>`环境`配置所有环境变量。本终端窗口的默认工作目录为当前选定的项目或 `IDF_PATH`(如未选定项目)。

终端 PATH 还将同时配置 `esptool`、`espcoredump`、`partition_table` 和 `app_update` 组件路径,允许用户从 ESP-IDF 终端直接进行访问。

Expand Down Expand Up @@ -313,7 +314,7 @@ ESP-IDF Eclipse 插件中还集成了一个 CMake 编辑器,允许用户编辑

如上述环境变量未能自动正确配置,请按照以下步骤操作。

1. 前往`C/C++ 构建`下的`环境`偏好设置页。
1. 前往`C/C++ 构建`下的`环境`偏好设置页。
1. 再次点击`添加...`,并输入`IDF_PATH`,即 ESP-IDF 的完整安装路径。
1. 按照相同步骤,配置 OPENOCD_SCRIPTS、IDF_PYTHON_ENV_PATH 和 PATH 环境变量

Expand Down Expand Up @@ -398,10 +399,10 @@ IDF Eclipse 插件可支持不同语言。如需更改,请按照以下步骤
注意,上述操作仅提供针对插件界面的汉化。如需全部汉化,则请另外安装 Eclipse 汉化包。

<a name="troubleshooting"></a>
# 故障排除
# 故障排除

## 错误日志
`错误日志`视图可以显示插件记录的所有警告和错误,其底层日志文件 (.log 文件) 保存在工作空间的 .metadata 子目录下。
`错误日志`视图可以显示插件记录的所有警告和错误,其底层日志文件 (.log 文件) 保存在工作空间的 .metadata 子目录下。

打开`错误日志`视图,请前往`窗口`>`显示视图`>`错误日志`。

Expand All @@ -414,15 +415,15 @@ IDF Eclipse 插件可支持不同语言。如需更改,请按照以下步骤
## 控制台视图日志
`控制台`视图可显示与当前运行或构建有关的所有警告和错误。

打开`控制台`视图,请前往`窗口`>`显示视图`>`控制台`。
打开`控制台`视图,请前往`窗口`>`显示视图`>`控制台`。

![](docs/images/CDT_Build_Console.png)

## CDT 全局构建日志
打开 CDT 全局构建日志,请前往`偏好设置`>`C/C++`>`构建`>`日志`

## 乐鑫 IDF 工具集控制台
`乐鑫 IDF 工具控制台`为`控制台`视图的组成部分,通常仅在通过 Eclipse 安装 IDF 工具集时使用。
`乐鑫 IDF 工具控制台`为`控制台`视图的组成部分,通常仅在通过 Eclipse 安装 IDF 工具集时使用。

如您在通过`乐鑫`>`ESP-IDF 工具管理器`>`安装工具`方式安装 IDF 工具集时出现任何问题,即可使用本控制台查看错误报告。

Expand Down Expand Up @@ -453,7 +454,7 @@ IDF Eclipse 插件可支持不同语言。如需更改,请按照以下步骤
1. 点击`添加`按钮。
1. 在`添加`仓库对话框中选择`存档`> `com.espressif.idf.update-vxxxxxxx.zip` 文件。
1. 点击`添加`。
1. 从列表中选择`Espressif IDF`,并按照提示完成所有安装步骤。
1. 从列表中选择`Espressif IDF`,并按照提示完成所有安装步骤。
1. 重启 Eclipse。

![](docs/images/zh/1_idffeature_install.png)
Expand Down Expand Up @@ -549,6 +550,39 @@ IDF Eclipse 插件可支持不同语言。如需更改,请按照以下步骤

1. 点击 `停止`。

<a name="gcovCodeCoverage"></a>

# GCOV 代码覆盖率和转储生成

借助 ESP-IDF Eclipse 插件,您可以生成和查看 GCOV 代码覆盖率报告。

请参考示例项目 [gcov](https://github.com/espressif/esp-idf/blob/master/examples/system/gcov/)来了解这一功能。
有关启用此功能所需标志的详细信息,请查看该示例的[项目简介](https://github.com/espressif/esp-idf/blob/master/examples/system/gcov/README.md)。

构建并烧录项目后,您可以使用 OpenOCD 启动配置开始调试。调试会话开始后,ESP-IDF Eclipse 切换到调试视图,您会在 IDF 进程控制台上看到以下两个按键。
![](docs/images/GcovCodeCoverage/gcov-1.png)

第一个按键用于生成即时运行时转储,第二个按键用于生成硬编码转储。根据程序当前状态,您可以选择生成相应的转储。示例项目中的程序会暂停两次,以便您按下第二个按键生成硬编码转储。
在硬编码转储生成完成后,您可以按下第一个按键生成即时运行时转储。

转储生成后,您可以右键单击项目,然后选择以下选项。
`ESP-IDF: 查看GCOV文件`

![](docs/images/GcovCodeCoverage/gcov-2.png)

点击该选项后,会打开一个视图,显示可用于 Eclipse 分析的转储文件。
![](docs/images/GcovCodeCoverage/gcov-3.png)

点击刷新按键可更新视图以显示最新的文件,然后使用选择项目按键来选择不同的项目。
文件名只显示一个名称,同时用于 gcno 和 gcda 文件。同时,只有具有匹配的 gcno 或 gcda 文件的文件才会显示在列表中。

双击列表中的任何文件,将显示以下对话框。
![](docs/images/GcovCodeCoverage/gcov-4.png)。
您可以选择仅查看所选文件的覆盖率,或查看整个项目的覆盖率。
根据您的选择,系统会显示相应的信息。
![摘要视图](docs/images/GcovCodeCoverage/gcov-5.png)
![文件视图](docs/images/GcovCodeCoverage/gcov-6.png)

<a name="deviceFirmwareUpgrade"></a>

# 通过 USB 升级设备固件 (DFU)
Expand Down Expand Up @@ -604,7 +638,7 @@ ESP-IDF 的 [应用层追踪](https://docs.espressif.com/projects/esp-idf/en/lat
开始命令:

* 语法:`start <outfile> [poll_period [trace_size [stop_tmo [wait4halt [skip_size]]]]`
* 参数:
* 参数:
* `outfile`:文件路径(从任一 CPU),格式应满足 `file://path/to/file`。
* `poll_period`:可用追踪数据的轮询周期(单位:毫秒)。如果大于 0,则命令以“非阻塞”模式运行。默认值 1(1 毫秒)。
* `trace_size`:可追踪数据的最大长度限制(单位:字节)。注意,该参数使能后,追踪数据达到配置的长度后则自动停止。默认值 -1(不限制最大长度)。
Expand Down Expand Up @@ -661,7 +695,7 @@ ESP-IDF 的 [应用层追踪](https://docs.espressif.com/projects/esp-idf/en/lat
1. 点击 `Details`。
1. 点击左侧 `Summary`。
1. 下滑至页面底部,找到 `Artifacts`。
1. 下载 `com.espressif.idf.update`,并按照 <a
1. 下载 `com.espressif.idf.update`,并按照 <a
href="https://github.com/espressif/idf-eclipse-plugin#installPluginsUsingLocalFile">介绍</a> 进行安装。

# 自定义 IDE 配置
Expand All @@ -687,5 +721,5 @@ IDE 支持配置自定义构架目录:
| IEP 2.1.2 | Eclipse 2021-06, 2021-03, 2020-12, 2020-09 |Java 11 及以上 | ESP-IDF 工具安装器 (Windows) 2.9| IEP 2.1.2 增加了对 Eclipse 2021-06 的支持|
| IEP 2.1.1 | Eclipse 2021-03, 2020-12, 2020-09 | Java 11 及以上 | ESP-IDF 工具安装器 (Windows) 2.8 | ESP-IDF 工具安装器 (Windows) 集成 IEP 2.1.0,需升级至 2.1.1
| IEP 2.1.0 | Eclipse 2021-03, 2020-12, 2020-09 | Java 11 及以上 | ESP-IDF 工具安装器 (Windows) 2.6 beta | IEP 2.1.0 增加了对 Eclipse 2021-03 的支持|
| IEP 2.0.0 | Eclipse 2020-12, 2020-09, 2020-06 | Java 11 及以上 | ESP-IDF 工具安装器 (Windows) 2.6 beta ||
| IEP 2.0.0 | Eclipse 2020-12, 2020-09, 2020-06 | Java 11 及以上 | ESP-IDF 工具安装器 (Windows) 2.6 beta ||
| IEP 1.2.4 | Eclipse 2020-12, 2020-09, 2020-06, 2020-03 | Java 1.8 及以上 | 不支持 | IEP 1.2.4 增加了对 Eclipse 2020-12 的支持|
5 changes: 3 additions & 2 deletions bundles/com.espressif.idf.core/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,9 @@ Require-Bundle: org.eclipse.core.runtime,
org.eclipse.core.commands,
org.eclipse.jface,
org.apache.commons.logging;bundle-version="1.2.0",
org.eclipse.core.variables,
org.eclipse.embedcdt.core;visibility:=reexport
org.eclipse.embedcdt.core;visibility:=reexport,
org.eclipse.linuxtools.gcov.core,
org.eclipse.core.variables
alirana01 marked this conversation as resolved.
Show resolved Hide resolved
Bundle-RequiredExecutionEnvironment: JavaSE-11
Automatic-Module-Name: com.espressif.idf.core
Bundle-ActivationPolicy: lazy
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
/*******************************************************************************
* Copyright 2023 Espressif Systems (Shanghai) PTE LTD. All rights reserved.
* Use is subject to license terms.
*******************************************************************************/
package com.espressif.idf.core.util;

import org.eclipse.core.internal.registry.osgi.OSGIUtils;
import org.eclipse.core.resources.IFile;
alirana01 marked this conversation as resolved.
Show resolved Hide resolved
import org.eclipse.core.resources.IProject;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.ui.PlatformUI;
import org.osgi.framework.Bundle;
import org.osgi.framework.FrameworkUtil;

import com.espressif.idf.core.logging.Logger;

/**
* Gcov utility to handle and manage the selected project for view and also used to setup the dialog settings
*
* @author Ali Azam Rana
*
*/
@SuppressWarnings("restriction")
public class GcovUtility
{
private static IProject selectedProject;

public static void setSelectedProject(IProject project)
{
selectedProject = project;
}

public static IProject getSelectedProject()
{
return selectedProject;
}

public static void clearSelectedProject()
{
selectedProject = null;
}
alirana01 marked this conversation as resolved.
Show resolved Hide resolved

public static void setUpDialog(IFile gcFile, String elfFile)
{
try
{
Bundle bundle = OSGIUtils.getDefault().getBundle("org.eclipse.linuxtools.gcov.core"); //$NON-NLS-1$
Class<?> openGcAction = bundle.loadClass("org.eclipse.linuxtools.internal.gcov.action.OpenGCAction"); //$NON-NLS-1$
Class<?> openGcDialog = bundle.loadClass("org.eclipse.linuxtools.internal.gcov.dialog.OpenGCDialog"); //$NON-NLS-1$
IDialogSettings ds = PlatformUI.getDialogSettingsProvider(FrameworkUtil.getBundle(openGcAction))
.getDialogSettings();
IDialogSettings defaultMapping = ds.getSection(openGcDialog.getName());
if (defaultMapping == null)
{
defaultMapping = ds.addNewSection(openGcDialog.getName());
}

ds.put(gcFile.getRawLocation().toOSString(), elfFile);
}
catch (Exception e)
{
Logger.log(e);
}
alirana01 marked this conversation as resolved.
Show resolved Hide resolved
}
alirana01 marked this conversation as resolved.
Show resolved Hide resolved
}
11 changes: 11 additions & 0 deletions bundles/com.espressif.idf.debug.gdbjtag.openocd/plugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,17 @@
id="com.espressif.idf.ui.appLvlTracing"
name="%command.name">
</command>
<command
defaultHandler="com.espressif.idf.debug.gdbjtag.openocd.gcov.GcovDumpHandler"
id="com.espressif.idf.gcov.instant"
name="GCOV Instant">
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

</command>
<command
defaultHandler="com.espressif.idf.debug.gdbjtag.openocd.gcov.GcovDumpHandler"
id="com.espressif.idf.gcov.hardcoded"
name="GCOV Hard-coded">
</command>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


</extension>
<extension
point="org.eclipse.ui.startup">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@

import org.eclipse.cdt.debug.gdbjtag.core.IGDBJtagConstants;
import org.eclipse.cdt.dsf.concurrent.DefaultDsfExecutor;
import org.eclipse.cdt.dsf.concurrent.DsfExecutor;
import org.eclipse.cdt.dsf.concurrent.DsfRunnable;
import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.cdt.dsf.gdb.IGDBLaunchConfigurationConstants;
alirana01 marked this conversation as resolved.
Show resolved Hide resolved
Expand All @@ -37,7 +38,6 @@
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
import org.eclipse.debug.core.model.IProcess;
import org.eclipse.debug.core.model.ISourceLocator;
import org.eclipse.debug.internal.core.LaunchConfigurationWorkingCopy;
import org.eclipse.embedcdt.debug.gdbjtag.core.dsf.GnuMcuLaunch;

import com.espressif.idf.core.util.PortChecker;
Expand Down Expand Up @@ -74,7 +74,21 @@ public Launch(ILaunchConfiguration launchConfiguration, String mode, ISourceLoca
fExecutor = (DefaultDsfExecutor) getDsfExecutor();
fSession = getSession();
}


public DsfSession getSession()
{
return super.getSession();
}

public DsfServicesTracker getDsfServicesTracker()
{
return fTracker;
}

public DsfExecutor getDsfExecutor()
{
return super.getDsfExecutor();
}
alirana01 marked this conversation as resolved.
Show resolved Hide resolved
alirana01 marked this conversation as resolved.
Show resolved Hide resolved
// ------------------------------------------------------------------------

@Override
Expand Down
Loading