多執行緒程式在當前的多核世代中扮演著越來越重要的角色,其提供的方便性以及效能在軟體開發中已經成為不可或缺的一部分。然而雖然多執行緒程式有著大量優點,但它也容易發生並行性錯誤(concurrency error),這些錯誤特別難以避免,發現和修復,因為它們的發生取決於特定的執行緒交錯(interleaving)。並且由於參與其中的執行緒調度通常數量龐大,所以測試所有可能的交錯實務上是不可行的。同時,由於多執行緒程式固有的非確定性,引發並行錯誤和除錯這些多執行緒程序變得非常具有挑戰性。雖然在重現並行錯誤的領域Windows上已有諸多研究提供了他們各自的工具,然而在Linux平台上,卻少有研究提出此類工具。本實驗室已經實作一套運作於Windows下之多執行緒程式除錯與測試輔助工具,提供使用者對於交錯產生的控制能力以手動引發並行錯誤,並提供記錄和重放產生該並行錯誤之交錯的功能。此外,該工具也提供以窮舉測試方式替開發人員自動搜尋並記錄並行錯誤。本論文將移植該工具至Linux平台以提供對其多執行緒開發人員之支援,並實作測試來驗證該工具符合本論文所訂定之需求,同時作為未來擴充該工具時作為基本運行測試之一環。;Multi-threaded programs play an increasingly important role in the current multi-core generation. The convenience and performance multi-threaded programs provided have become integral for modern software development. However, although multi-threaded programs have a number of advantages, they are also prone to concurrency errors. These errors are particularly difficult to avoid, find and fix, because their occurrence depends on specific interleaving. And because of the large number of thread involved, it is not feasible to test all possible interleaving in practices. At the same time, due to the inherent non-determinism of multi-threaded programs, reproduce these concurrency errors and debugging multi-threaded programs becomes very challenging. Although many researches have provided their own tools in the field of reproducing concurrency error, there are few studies on such tools under Linux. Our colleagues have implemented a tool for debugging and testing multi-threaded programs under Windows, providing ability for user to control interleave and manually trigger concurrency errors, and record and/or replay the buggy interleaving to re-generate those concurrency errors. In addition, the tool also provides an exhaustive test module for developers to automatically search for and record buggy interleaving. This paper ports the tool to Linux to provide support for its multi-threaded developers, verifies that the tool meets the requirements through a series of tests and as a basic operating test for future expansion of this tool at the same time.