modds C# 调试的拖放式编程(第四部分)





5.00/5 (2投票s)
可视化编程语言
引言
在modds C# 示例股票图表自动完成的拖放式编程(第三部分)中,我展示了为股票图表程序添加自动完成功能的示例。随着程序变得越来越复杂,我们需要一些方法来调试和单步执行代码。
项目需求
- modds C# 设计器(来自www.modds.org)
- Microsoft Visual Studio(用于从附加文件创建 DLL)
- Windows 7 或更高版本
- .NET Framework 4.5.2 或更高版本
- modds C# 示例股票图表自动完成的拖放式编程(第三部分)(源代码)
调试 modds 项目
简单的弹出式窗口
使用 modds 设计器,您可以在“控件工具箱”面板中使用Inspection Tools->ToStringMessageBox
来检查控件是否接收数据。
示例:将消息框连接到StockChartAutoComplete
示例中的SearchCommand
。
在此示例中,黑线的连接索引设置为0
,蓝线的连接索引设置为1
。这意味着数据将在流向YahooDailyMarketData
之前先流向Message Box
。
在StockChartAutoComplete
程序 UI 中,搜索按钮与SearchCommand
控件进行数据绑定。当用户按下搜索按钮时,将弹出消息框。消息框将停止数据流,直到用户按下其中的“确定”按钮。这是查看连接的控件上是否存在数据流的最简单方法。
生成的代码
当 modds 程序在 DEBUG 模式下编译时,所有使用脚本->C# 脚本控件编写的代码都将生成一个.cs文件。这些文件位于项目目录->构建->调试->脚本->ProgramScript-><模块文件名.cs>。
您可以使用 Microsoft Visual Studio 打开.cs文件并在其中设置断点。
单步执行生成的代码
- 使用 modds 设计器打开
StockChartAutoComplete
示例项目。 - 右键单击该项目并选择
调试
以运行。 - 使用 Microsoft Visual Studio 打开以下.cs文件。
StockChartAutoComplete
(目录)->构建->调试->脚本->ProgramScript
->MainWindows.cs - 在函数
GetKeyInText
的开头设置断点。 - 在 Microsoft Visual Studio 中,
调试->附加到进程…
以附加正在运行的程序StockChartAutoComplete
- 在
StockChartAutoComplete
执行窗口中,在Stock
文本框中输入一个字符。
Microsoft Visual Studio 应该会在GetKeyInText
函数处中断。
在程序启动时启动调试器
在StockChartAutoComplete
项目中,Log.xsml对象实例在程序启动时创建。
打开StockChartAutoComplete
项目并打开(双击)Application.moddc。您可以看到以下行
<PreloadObject Path="Schema\Log.xsml" />
PreloadObject
行告诉 modds 对象构建器在创建 MAIN 对象之前创建路径模块对象。在此示例中,Log.xsml在 MAIN(MainWindow.xsml)之前创建。我们可以在Log.xsml处启动 Microsoft 调试器。
- 打开Log.xsml
- 在“控件工具箱”面板中,拖入modds 通用控件->启动触发器
- 在“控件工具箱”面板中,拖入脚本->C# 脚本并输入以下代码
使用面板
using System;
using System.Diagnostics;
代码面板
static public void StartDebugger()
{
Debugger.Launch();
}
按如下方式连接控件
在调试模式下运行StockChartAutoComplete
,Microsoft Visual Studio 将启动并附加到正在运行的程序。
modds 拖放编程 C# 创建类库 (DLL) - 第 5 部分