我有一个相当严重的多线程调试问题。我在与串行设备交互时遇到了某种时间问题,需要追踪它。我有三个线程:
1. 用于 UI 更新的主线程。用户可以通过选择预设来一次性更改设备的一个或多个参数。 2. 查询状态的线程,以确保设备仍然连接着。如果用户关闭设备或设备本身以有趣的方式进行交互,则需要在 UI 中反映出状态更改。 3. 读取设备响应的串行端口的线程。
我的问题实际上与调试这种情况有关。似乎每个线程中的每一行都必须有断点才能进行调试;如果我在一个线程中断点,调试器就不会逐步执行该线程。我知道其他线程将继续更新,但是我正在调试的线程不应该像正常情况下一样从一行到下一行执行吗?然后,我可以使用“线程”选项卡在线程之间切换。
我提到我在使用 WPF,因为我不知道这是否会改变情况;也许会,也许不会。状态检查线程是 UI 控件的一部分,因为只需要在 UI 启动时检查状态。该控件位于与主应用程序不同的库中。
1. 用于 UI 更新的主线程。用户可以通过选择预设来一次性更改设备的一个或多个参数。 2. 查询状态的线程,以确保设备仍然连接着。如果用户关闭设备或设备本身以有趣的方式进行交互,则需要在 UI 中反映出状态更改。 3. 读取设备响应的串行端口的线程。
我的问题实际上与调试这种情况有关。似乎每个线程中的每一行都必须有断点才能进行调试;如果我在一个线程中断点,调试器就不会逐步执行该线程。我知道其他线程将继续更新,但是我正在调试的线程不应该像正常情况下一样从一行到下一行执行吗?然后,我可以使用“线程”选项卡在线程之间切换。
我提到我在使用 WPF,因为我不知道这是否会改变情况;也许会,也许不会。状态检查线程是 UI 控件的一部分,因为只需要在 UI 启动时检查状态。该控件位于与主应用程序不同的库中。