0

我有一个在 Ubuntu 上运行的服务器程序,它在几个客户端连接后挂起。问题是,它只有在 IDE 中没有被调试时才会这样做。我可以从命令行运行它(完全相同的调试二进制文件),将 gdb 附加到它,它会挂起,但 gdb 没有发现问题。但是,当我从 MonoDevelop 调试时,它永远不会挂起。

我完全不知道如何从这里开始。

有谁知道 Mono 是否设置了一些标志或我不知道的东西?我严重受阻并且完全沮丧。

4

2 回答 2

1

您可能在某个地方遇到了竞争条件 - MonoDevelop 使用软调试器,它会减慢执行速度作为副作用,因此锁的生存率会降低。或者你可以试试这个:http ://www.mono-project.com/Debugging#Debugging_Unmanaged_Deadlocks

于 2012-05-03T19:33:10.733 回答
1

显然,不要让控制台 IO 堵塞,因为几乎没有指标。

于 2012-05-04T18:53:16.530 回答