2010-02-06 68 views
2

我不知道,如果同樣的問題被問過或沒有: - 我有一個如何調試在C#.NET多線程VS2008的問題(企業版)是否有任何特殊的技術或工具?調試線程 - C#

看到我的應用程序可以很好地處理單線程,但是當有兩個或更多的線程表現異常時......我知道存在同步問題,因此需要修復它,因此需要調試器來確定應該在哪裏放置鎖...

回答

1

非常仔細。

調試多線程應用程序非常困難,這就是爲什麼很多應用程序編寫者儘可能避免多線程的原因。

你問是否有特殊技術或特殊工具來幫助你?

編輯: 如果是鎖定問題,你可以使用標準的故障排除方法: 地方到處鎖,然後在同一時間將其刪除一個,這樣您可以識別所需要的鎖。它可能看起來很激烈,但它會起作用,特別是如果你沒有任何教育猜測,首先在哪裏添加鎖。

+0

請參閱編輯的問題... – hrishi 2010-02-06 06:18:35

1

約翰羅賓斯的書:Debugging Microsoft .NET 2.0 Applications是一個很好的學習資源,如果你想精通調試。他的在線帖子和文章也非常出色。如Neat New Multithreaded Debugging Features in VS 2008

Visual Studio 2008不僅具有多線程調試功能,而且還有一個可能需要的SP1後綴修補程序:Updates for Visual Studio 2008 SP1 debugging and breakpoints

提示:在創建線索時明確指定您的線索。使調試更容易。

爲了響應您的更新問題:您不應該需要調試器才能確定將鎖定在哪裏。你通過檢查代碼來做到這一點。

+0

k ..我看看... – hrishi 2010-02-06 06:22:47