当前位置: 首页 > 面试题库 >

如何检查运行时是否启用了竞赛检测器?

嵇弘新
2023-03-14
问题内容

有什么方法可以检查Go程序是否-race在运行时启用了编译功能(例如,用于日志记录/信息目的)?

我检查了文档以及明显的位置(runtime/*),但找不到任何东西。


问题答案:

据我所知,没有对此的简单检查,但是-race启用了race
build标签后,您就可以利用它了。

我创建了一个新目录israce,并在其中放置了两个文件:

israce/race.go

// +build race

// Package israce reports if the Go race detector is enabled.
package israce

// Enabled reports if the race detector is enabled.
const Enabled = true

israce/norace.go

// +build !race

// Package israce reports if the Go race detector is enabled.
package israce

// Enabled reports if the race detector is enabled.
const Enabled = false

由于使用了build标签,将仅编译两个文件之一。

这也是围棋标准库是怎么做的(race.gonorace.go),但由于这是一个内部包不能导入的围棋源基地之外。



 类似资料:
  • 问题内容: 我正在使用以下代码 这可以启用或禁用它 但我想作为函数说函数名是 那么我可以按照我的网站代码中的任意位置来称呼它 与我先前的问题几乎相同,请检查是否启用了allow_url_fopen 问题答案: 只需从函数中返回现有支票即可。

  • 问题内容: 我正在一个需要JavaScript和会话的页面上工作。我已经有代码来警告用户是否禁用了javascript。现在,我想处理禁用cookie的情况,因为会话ID存储在cookie中。 我只想到了几个主意: 将会话ID嵌入链接和表单中 警告用户如果禁用了cookie,则必须启用cookie(需要帮助来检测cookie是否被禁用) 解决此问题的最佳方法是什么?谢谢 编辑 根据链接的文章,我想

  • 我想检查某个程序是否在计算机启动时运行,我为此访问了类: 输出确实是,因为该程序实际上是在windows启动时运行的,但是当我通过禁用该程序启动时(它的状态变为),下次我运行上面的代码时,结果仍然是,尽管该程序不再是启动程序的一部分。 这让我得出了一个简单的结论,当windows任务管理器禁用启动程序时,它不会删除注册表项中的项,而是更改了它的另一个值..但是我无法找到那个更改的值。 我希望有人能

  • 问题内容: 我在想,如果有可能,以检查是否被启用 的Apache 和 IIS 在 。 *存在用于IIS的 *ModRewrite 。检查一下。 因此,我正在寻找一个在 Apache 和 IIS 上进行检查的PHP脚本 。 有谁知道这样的脚本或可以写一个? 特别是对于Microsoft IIS 。 谢谢! 问题答案: 如果您使用的是mod_php,则可以使用。这将返回所有已启用模块的数组,因此要检查

  • 问题内容: 今天早上有一篇帖子问有多少人禁用JavaScript。然后我开始想知道可以使用什么技术来确定用户是否禁用了它。 有谁知道一些简短/简单的方法来检测是否禁用了JavaScript?我的目的是警告您,如果没有启用JS的浏览器,站点将无法正常运行。 最终,我想将它们重定向到可以在没有JS的情况下运行的内容,但是我需要将此检测作为占位符才能启动。 问题答案: 我假设你正在尝试确定是否提供Jav

  • 问题内容: 我一直在做一些关于CoreLocation的研究。最近,我遇到了一个问题,该问题已在其他地方解决,但在Objective C和iOS 8中已涵盖。 我觉得这有点愚蠢,但是如何在iOS 9上检查是否使用swift启用了定位服务? 在iOS 7(甚至可能是8?)上,您可以使用,但是在为iOS 9编译时似乎无法正常工作。 那我该怎么做呢? 谢谢! 问题答案: 将添加到您的类继承中,然后可以进