【问题标题】:ThreadSanitizer date race test for Windows适用于 Windows 的 ThreadSanitizer 日期竞争测试
【发布时间】:2011-08-05 12:06:59
【问题描述】:

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

应用程序未能正确初始化 (0xc0000005)。点击 确定终止应用程序。

=( 在控制台中没有任何描述。我在 goolge =( 有没有人有同样的问题?或者有人可以给我推荐吗?

【问题讨论】:

  • 尝试在 data-race-test 项目的邮件列表中询问

标签: c++ windows multithreading thread-safety


【解决方案1】:

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

然后,您将在发生访问冲突时发现它。

【讨论】:

  • 我输入了上述设置,但工作室说无法启动程序 'blabla/tsan.bat'。指定的文件是无法识别或不受支持的二进制格式。
  • CMD /C blabla\tsan.bat,然后。
  • 我输入的正是你在我的 VS 2008 配置中描述的内容,但仍然没有运气:( 现在找不到指定的路径。
  • Visual Studio 找不到 CMD,还是 CMD 找不到 tsan.bat?因为前者不太可能,而后者实际上是找到通往tsan.bat的路径的问题。
  • 1) cmd /c tsan ... 在 cmd 中工作! 2) tsan 在 cmd 中工作! 3) C:\blabla\...\tsan.bat 在 cmd 中工作 4) 裸 cmd 在 Visual Studio 中工作 5) tsan 给我错误二进制格式 6) cmd /c 在 tsan 调用中带有路径或没有路径给我不存在。今晚晚些时候,我将对其进行更深入的了解。无论如何谢谢你;)
【解决方案2】:

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

【讨论】:

  • Visual C++ Runtime 已安装 100% =) 我使用这个 VS2008 编写应用程序。
【解决方案3】:

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

顺便说一句,使用--log-file 时不应需要/使用--color

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-20
    • 2016-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多