适用于Windows的ThreadSanitizer日期竞争测试

时间:2011-08-05 12:07:00

标签: c++ windows multithreading thread-safety

谁知道ThreadSanitizer?有没有人使用这个工具的Windows(XP)? 我从here下载最新版本。我为VS2008编写了测试应用程序(单printf("hello");)并编译它。 然后tsan.bat --log-file=logTasn.txt --color -- debug\test.exe并查看

  

应用程序无法正确初始化(0xc0000005)。点击   好的,可以终止申请。

=(在控制台中没有任何描述。而且我在goolge中找不到任何相关内容=( 有没有人有同样的问题?或者有人可以给我推荐?

3 个答案:

答案 0 :(得分:2)

您仍然可以在Visual Studio调试器中运行它。在您的解决方案中,将“调试>命令”从$(TargetPath)更改为tsan.bat,将“调试>命令参数”更改为--log-file=logTasn.txt --color -- $(TargetPath)

然后,您将在发生时捕获访问冲突。

答案 1 :(得分:1)

确保安装了正确的Visual C ++运行时。您可以从(VS2008,32位,RTM)下载其中一个: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=29

答案 2 :(得分:0)

正在为Windows开发ThreadSanitizer的Timur刚刚将http://build.chromium.org/p/client.tsan/binaries/tsan-r3613-x86-windows-sfx.exe下载到C:\ tmp,运行它以解压缩TSan并运行helloworld app而没有任何问题,如下所示: C:\ tmp \ tsan-x86-windows \ tsan.bat - hello.exe

btw,使用--log-file

时不应该使用/color

请将更多问题发送至data-race-test@googlegroups.com