【问题标题】:Multithreading: prevent Visual Studio from blocking a particular thread [duplicate]多线程:防止 Visual Studio 阻塞特定线程 [重复]
【发布时间】:2014-03-17 14:45:57
【问题描述】:

我有一个客户端/服务器多线程应用程序,一个线程用于将常规ping 发送到服务器。当我想调试其他线程时出现问题,它也会阻塞我的ping 线程。我已经在 Visual Studio Debug->Windows->Thread 中尝试过选项,但不想在每次需要调试应用程序的一部分时都使用它。

此外,当我在一个团队中工作时,我不能强迫我的队友使用这种技术。我怎样才能不费力气地做到这一点(宏,...)?

谢谢

编辑:这不是重复的线程!我不想每次需要调试我的应用程序时都使用条件断点!并且不想让我的团队其他成员的调试过程变得复杂。我到处搜索,没有人谈论在另一个Process 中执行线程

【问题讨论】:

  • 感谢您的帮助,并为我是法语的语法错误感到抱歉^^,但不,我不想在每次需要调试时设置条件断点,其余部分也一样我的团队
  • 解决方法:假设 ping 线程主要是独立的东西,将其转换为完整的子进程。
  • 非常感谢您的回答,我尝试了@hyde 解决方法,但仍有问题,我无法从我的子进程访问我的主应用程序的 NetworkStream,但我需要它发送一些数据。此流一方面用于发送数据,另一方面用于 ping 服务器。任何的想法?我还是会搜索...
  • 请不要在问题标题中包含有关所用语言的信息,除非没有它就没有意义。标记用于此目的。

标签: c# .net multithreading visual-studio breakpoints


【解决方案1】:

谢谢大家,我终于找到了我的问题的答案!

正如@hyde 建议的那样,我在另一个进程中运行我的 Ping 循环,但我没有创建另一个程序,而是从我的代码中动态创建并执行它

如本主题所示: Is it possible to dynamically compile and execute C# code fragments?

还有这个更高级的主题: http://simeonpilgrim.com/blog/2007/12/04/compiling-and-running-code-at-runtime/

但毕竟我还有一个问题...我需要在我的 Main Application 和他的 Child 之间分享我的NetworkStream(需要发送到同一个服务器Thread),所以我通过反射给了孩子NetworkStream

现在可以正常工作了,谢谢!

【讨论】:

    猜你喜欢
    • 2016-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多