Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
DS Lab 数据结构实验教程
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
问题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
银宸时代
DS Lab Group
DS Lab 数据结构实验教程
提交
5dfa4fcb
提交
5dfa4fcb
4月 19, 2019
创建
作者:
宋海霞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新 app-manual.md
上级
5ec9f831
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
30 行增加
和
29 行删除
+30
-29
app-manual.md
app-manual.md
+30
-29
没有找到文件。
app-manual.md
浏览文件 @
5dfa4fcb
...
@@ -36,18 +36,18 @@ DS Lab的主窗口布局由下面的若干元素组成:
...
@@ -36,18 +36,18 @@ DS Lab的主窗口布局由下面的若干元素组成:


# 阅读实验源代码
# 阅读实验源代码
该实验包含了一个头文件“LinearList.h”和一个C源文件“main.c”。下面对这两个文件的主要内容、结构和作用进行说明:
该实验包含了一个头文件“LinearList.h”和一个C源文件“main.c”。下面对这两个文件的主要内容、结构和作用进行说明:
**main.c文件**
**main.c文件**
在“项目管理器”窗口中双击“main.c”打开此文件。此文件主要包含了以下内容:
在“项目管理器”窗口中双击“main.c”打开此文件。此文件主要包含了以下内容:
1.
在文件的开始位置,使用预处理命令“#include "LinearList.h"”,包含了LinearList.h文件。
1.
在文件的开始位置,使用预处理命令“#include "LinearList.h"”,包含了LinearList.h文件。
2.
定义了main函数。在其中实现了线性表的初始化,然后调用了两次线性表的插入函数InsertBefore,第一次调用插入成功,第二次调用插入失败。
2.
定义了main函数。在其中实现了线性表的初始化,然后调用了两次线性表的插入函数InsertBefore,第一次调用插入成功,第二次调用插入失败。
3.
在main函数的后面,定义了线性表的插入函数InsertBefore。关于此函数的功能、参数和返回值,可以参见其注释。注意,此函数的函数体还不完整,留给读者完成。
3.
在main函数的后面,定义了线性表的插入函数InsertBefore。关于此函数的功能、参数和返回值,可以参见其注释。注意,此函数的函数体还不完整,留给读者完成。
**LinearList.h文件**
**LinearList.h文件**
在“项目管理器”窗口中双击“LinearList.h”打开此文件。此文件主要包含了以下内容:
在“项目管理器”窗口中双击“LinearList.h”打开此文件。此文件主要包含了以下内容:
1.
包含用到的C标准库头文件。目前只包含了标准输入输出头文件“stdio.h”。
1.
包含用到的C标准库头文件。目前只包含了标准输入输出头文件“stdio.h”。
2.
包含其他模块的头文件。目前没有其他模块的头文件需要被包含。
2.
包含其他模块的头文件。目前没有其他模块的头文件需要被包含。
3.
定义重要的数据结构。定义了与线性表相关的数据结构。
3.
定义重要的数据结构。定义了与线性表相关的数据结构。
4.
声明函数。由于在“main.c”文件中,InsertBefore函数定义在main函数之后,而且在main函数中又调用了InsertBefore函数,所以必须在头文件中声明InsertBefore函数,否则无法通过编译。
4.
声明函数。由于在“main.c”文件中,InsertBefore函数定义在main函数之后,而且在main函数中又调用了InsertBefore函数,所以必须在头文件中声明InsertBefore函数,否则无法通过编译。
>
>
...
@@ -66,25 +66,26 @@ DS Lab的主窗口布局由下面的若干元素组成:
...
@@ -66,25 +66,26 @@ DS Lab的主窗口布局由下面的若干元素组成:
>
>
**`提示:`**
读者可以通过修改项目名称的方法来修改生成的.exe文件的名称。方法是在“项目管理器”窗口中右键点击项目节点,选择快捷菜单中的“重命名”。待项目名称修改后,需要再次生成项目才能得到新的.exe文件。
**`提示:`**
读者可以通过修改项目名称的方法来修改生成的.exe文件的名称。方法是在“项目管理器”窗口中右键点击项目节点,选择快捷菜单中的“重命名”。待项目名称修改后,需要再次生成项目才能得到新的.exe文件。
>
>
# 解决语法错误
如果在源代码中存在语法错误,在生成项目的过程中,“输出”窗口会显示相应的错误信息(包括错误所在文件的路径,错误在文件中的位置,以及错误原因),并在生成的最后阶段提示生成失败。此时,在“输出”窗口中双击错误信息所在的行,DS Lab会使用源代码编辑器自动打开错误所在的文件,并定位到错误所在的代码行。
# 解决语法错误
**可以按照下面的步骤进行练习:**
如果在源代码中存在语法错误,在生成项目的过程中,“输出”窗口会显示相应的错误信息(包括错误所在文件的路径,错误在文件中的位置,以及错误原因),并在生成的最后阶段提示生成失败。此时,在“输出”窗口中双击错误信息所在的行,DS Lab会使用源代码编辑器自动打开错误所在的文件,并定位到错误所在的代码行。
1.
在源代码文件中故意输入一些错误的代码(例如删除一个代码行结尾的分号)。
**可以按照下面的步骤进行练习:**
2.
生成项目。
1.
在源代码文件中故意输入一些错误的代码(例如删除一个代码行结尾的分号)。
3.
在“输出”窗口中双击错误信息来定位存在错误的代码行,并将代码修改正确。
2.
生成项目。
4.
重复步骤2、3,直到项目生成成功。
3.
在“输出”窗口中双击错误信息来定位存在错误的代码行,并将代码修改正确。
4.
重复步骤2、3,直到项目生成成功。
# 观察点和演示模式
# 观察点和演示模式
这里介绍DS Lab提供的两个重要功能:观察点和演示模式。
这里介绍DS Lab提供的两个重要功能:观察点和演示模式。
**观察点**
**观察点**
一个观察点对应一个函数的起始位置和结束位置(称这个函数为观察点函数)。在调试过程中,当程序执行到观察点函数的起始位置和结束位置时就会发生中断,就好像在这两个位置上添加了断点一样。并且,只要在观察点函数内部发生中断(包括命中断点、单步调试等),就会在“转储信息”窗口中显示观察点函数正在操作的数据信息,如果在“演示模式”下,还会在“演示流程”窗口中显示观察点函数的流程信息。
一个观察点对应一个函数的起始位置和结束位置(称这个函数为观察点函数)。在调试过程中,当程序执行到观察点函数的起始位置和结束位置时就会发生中断,就好像在这两个位置上添加了断点一样。并且,只要在观察点函数内部发生中断(包括命中断点、单步调试等),就会在“转储信息”窗口中显示观察点函数正在操作的数据信息,如果在“演示模式”下,还会在“演示流程”窗口中显示观察点函数的流程信息。
以本实验为例,“观察点”窗口(在“调试”菜单的“窗口”中选择“观察点”,可以打开“观察点”窗口),说明InsertBefore函数是一个观察点函数。
以本实验为例,“观察点”窗口(在“调试”菜单的“窗口”中选择“观察点”,可以打开“观察点”窗口),说明InsertBefore函数是一个观察点函数。


启动调试后,在main.c文件InsertBefore函数的开始位置和结束位置的左侧空白处,会显示观察点图标(与“观察点”窗口中左侧的图标一致),当程序执行到InsertBefore函数的开始位置和结束位置时会发生中断。启动调试后,观察点窗口可以显示出观察点所在的“文件”和“地址”。
启动调试后,在main.c文件InsertBefore函数的开始位置和结束位置的左侧空白处,会显示观察点图标(与“观察点”窗口中左侧的图标一致),当程序执行到InsertBefore函数的开始位置和结束位置时会发生中断。启动调试后,观察点窗口可以显示出观察点所在的“文件”和“地址”。


**演示模式**
**演示模式**
当DS Lab工具栏上的“演示模式”按钮高亮显示时,DS Lab处于演示模式。当在演示模式下调试观察点函数时,会忽略掉其函数体中的所有代码和断点,取而代之的是使用DS Lab提供的演示功能对观察点函数的执行过程和返回值进行演示。此特性可使观察点函数在还未完整实现的情况下,让读者了解到其应该具有的功能和执行过程,从而帮助读者正确实现此函数。
当DS Lab工具栏上的“演示模式”按钮高亮显示时,DS Lab处于演示模式。当在演示模式下调试观察点函数时,会忽略掉其函数体中的所有代码和断点,取而代之的是使用DS Lab提供的演示功能对观察点函数的执行过程和返回值进行演示。此特性可使观察点函数在还未完整实现的情况下,让读者了解到其应该具有的功能和执行过程,从而帮助读者正确实现此函数。


当工具栏上的“演示模式”按钮没有高亮显示时(鼠标点击工具栏上的“演示模式”按钮可以使其切换状态),DS Lab处于非演示模式。在非演示模式下调试观察点函数时,会使用其函数体中的代码和断点。
当工具栏上的“演示模式”按钮没有高亮显示时(鼠标点击工具栏上的“演示模式”按钮可以使其切换状态),DS Lab处于非演示模式。在非演示模式下调试观察点函数时,会使用其函数体中的代码和断点。
# 在演示模式下调试项目
# 在演示模式下调试项目
...
...
编写
预览
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论