我們下一個將要分析的代碼檢測技術是跟蹤。在一個多線程應用程序中,這個技術非常重要。當已經啟動了多個任務時,你可以跟蹤一個線程的行為和相互之間的各個線程之間的影響。我們稍后將看到在這種情況下使用調試器是不現實的。.NET Framework 提供了很多有用的類來幫助開發人員輕松地實現跟蹤功能 ...
當你的程序接近部署階段時,你可能想從代碼中去掉所有的跟蹤和調試消息。然而,你不得不從代碼中一條一條地尋找調試指令並將其去掉。對於這種情況你可以在程序編譯期間使用編譯標志處理。從Visual Studio.NET IDE, 你可以在解決方案管理窗口右鍵工程名 gt 從菜單頁選擇屬性。如下圖對話框顯示: 你只需要簡單地將定義調試常量和跟蹤常量選項勾掉,重新編譯解決方案,所有的跟蹤和調試代碼都將會被從 ...
2012-04-25 21:41 4 2348 推薦指數:
我們下一個將要分析的代碼檢測技術是跟蹤。在一個多線程應用程序中,這個技術非常重要。當已經啟動了多個任務時,你可以跟蹤一個線程的行為和相互之間的各個線程之間的影響。我們稍后將看到在這種情況下使用調試器是不現實的。.NET Framework 提供了很多有用的類來幫助開發人員輕松地實現跟蹤功能 ...
調試與跟蹤是兩個經常使用到的技術,這兩種技術對程序員是非常必要的。前者允許開發人員分析一個程序的變量值以及代碼,一步一步跟蹤代碼流程。后者允許我們跟蹤我們應用程序的行為,在一個監聽器(一個日志文件,Windows 事件日志等)中顯示信息。它們是創建魯棒性應用程序的基礎,因為它們給開發人員提供 ...
現在我們要集中精力實現一個實戰實例來描述到目前為止我們已經看過的內容。這里要實現的DataImport 例子是那種等待文件到達指定目錄然后將其導入到一個SQL Server 數據庫中的典型程序。下 ...
另外可以用作監聽程序的兩個類: 如果你需要跟蹤一個不在Visual Studio 中執行的多線程應用 ...
Abort()方法可以用來終止當前線程。不論何種情況下你想終止線程,比如線程執行了太長時間或者用戶取消了之前的決定,Abort()方法都很重要。在一個花費很長時間的搜索進程中你可能想使用這個方法。一個搜索引擎可能在繼續運行但是用戶已經看到了他們想要的結果,所以用戶會終止搜索引擎所運行的線程。當在 ...
一個STA和一個MTA線程單元最大的不同是再同一個線程單元中可以有多個線程運行並可以使用所有共享數據。如圖2所示。 圖 2 由於MTA線程模型支持多線程並發執行,所以處理多線程間全局數據的同步問題就變成了調用方的事情了。關於同步問題我們已經在上一章描述過。 確定線程模型 可以使 ...
我們將寫一個簡單的例子。對於我們為什么使用一個新的線程來說這不是一個好例子但是它將我們稍后要提到的復雜問題都去掉了。創建一個simple_thread.cs文件並把下面的代碼粘貼進去: /************************************* /* Copyright (c ...
的C#應用程序並在一個新線程中生成素數。這個應用程序有掛起以及恢復素數生成線程的選項。為了方便操作和演示 ...