65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIconstarIconstarIconstarIcon

5.00/5 (2投票s)

2016年8月2日

CPOL

2分钟阅读

viewsIcon

9822

可视化编程语言

引言

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文件并在其中设置断点。

单步执行生成的代码

  1. 使用 modds 设计器打开StockChartAutoComplete示例项目。
  2. 右键单击该项目并选择调试以运行。
  3. 使用 Microsoft Visual Studio 打开以下.cs文件。

    StockChartAutoComplete(目录)->构建->调试->脚本->ProgramScript->MainWindows.cs

  4. 在函数GetKeyInText的开头设置断点。
  5. 在 Microsoft Visual Studio 中,调试->附加到进程…以附加正在运行的程序StockChartAutoComplete
  6. 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 调试器。

  1. 打开Log.xsml
  2. 在“控件工具箱”面板中,拖入modds 通用控件->启动触发器
  3. 在“控件工具箱”面板中,拖入脚本->C# 脚本并输入以下代码
使用面板
using System;
using System.Diagnostics;
代码面板
static public void StartDebugger()
{
    Debugger.Launch();
}

按如下方式连接控件

在调试模式下运行StockChartAutoComplete,Microsoft Visual Studio 将启动并附加到正在运行的程序。

modds 拖放编程 C# 创建类库 (DLL) - 第 5 部分

 

© . All rights reserved.