地址清理程序不适用于 Windows 上的 bash

2023-11-25

目前在 Windows 上的 Ubuntu Bash 上运行 llvm、clang、clang-format 和 clang-modernize。我想使用谷歌发布的一套清理工具,包括地址、内存和线程清理。 fsanitize 选项似乎都不起作用。

以下是 ASAN 的代码示例:

#include <stdlib.h>
int main() {
  char *x = (char *)malloc(10 * sizeof(char *));
  free(x);
  return x[5];// purposely accessing deallocated memory
}

这是 Windows 上 bash 中的 clang 调用:

$clang++-3.5 -fsanitize=address -o1 -fno-omit-frame-pointer -g main.cpp -o main
$./main

Results

==70==Sanitizer CHECK failed: build/buildd/llvm-toolchain-snapshot-3.5/projects/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_linux.cc:211 ((IsOneOf(*current_, 's', 'p'))) != (0)(0,0)

我希望得到关于如何让它工作或者我是否缺少工具链的一部分或其他东西的建议。

如果做不到这一点,我想我将双启动 Ubuntu 或 Debian,因为 Windows 的 clang 缺少 std:out 支持等简单功能,尽管理想情况下我希望能够为 Windows 目标和 Linux 目标进行编译。我想避免双启动,因为 Ubuntu 无法挂载 Windows 存储空间,但它们似乎可以很好地服务于 Windows 上的 Ubuntu bash。


快速浏览一下源代码 - MemoryMappingLayout::Next -https://llvm.org/svn/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_procmaps_linux.cc- 问题似乎是 Windows 上 ubuntu 上的 bash 对 /proc 文件系统的支持不完整。

失败的代码正在查看 /proc/self/maps - 实际上 - 似乎是正确的。

但是我发现 /proc 中的其他东西(例如网络)在 bashonwindowsonunix 上完全损坏了 - 所以我很确定这部分是正在进行中的工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

地址清理程序不适用于 Windows 上的 bash 的相关文章

  • 未提供参数时如何指定 C# System.Commandline 行为?

    在我的控制台应用程序中 当未提供控制台参数时 将执行我指定列表 在本例中为参数 3 的任何处理程序 调用该处理程序时 布尔参数设置为 false 但对我来说 根本不调用它更有意义 如何防止这种情况发生并显示帮助文本 using System
  • 如何在c++中读取pcap文件来获取数据包信息?

    我想用 C 编写一个程序来读取 pcap 文件并获取数据包的信息 例如 len sourc ip flags 等 现在我找到了如下代码 我认为它会帮助我获取信息 但是我有一些疑问 首先我想知道应该将哪个库添加到我的程序中 然后什么是 pca
  • 错误:表达式不产生值

    我尝试将以下 C 代码转换为 VB NET 但在编译代码时出现 表达式不产生值 错误 C Code return Fluently Configure Mappings m gt m FluentMappings AddFromAssemb
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • 单个对象的 Monogame XNA 变换矩阵?

    我读过一些解释 XNA Monogame 变换矩阵的教程 问题是这些矩阵应用于 SpriteBatch Begin matrix 这意味着所有 Draw 代码都将被转换 如何将变换矩阵应用于单个可绘制对象 就我而言 我想转换滚动背景 使其自
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 如何使用 LINQ2SQL 连接两个不同上下文的表?

    我的应用程序中有 2 个数据上下文 不同的数据库 并且需要能够通过上下文 B 中的表的右连接来查询上下文 A 中的表 我该如何在 LINQ2SQL 中执行此操作 Why 我们正在使用 SaaS 产品来跟踪我们的时间 项目等 并希望向该产品发
  • 将 Word 文档另存为图像

    我正在使用下面的代码将 Word 文档转换为图像文件 但是图片显得太大 内容不适合 有没有办法渲染图片或将图片保存到合适的尺寸 private void btnConvert Click object sender EventArgs e
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • 在一个平台上,对于所有数据类型,所有数据指针的大小是否相同? [复制]

    这个问题在这里已经有答案了 Are char int long 甚至long long 大小相同 在给定平台上 不能保证它们的大小相同 尽管在我有使用经验的平台上它们通常是相同的 C 2011 在线草稿 http www open std
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • 如果我使用客户端计算机上未安装的字体,会发生什么情况?

    有人可以告诉我 如果我在 WinForms 应用程序中使用目标计算机上不可用的字体 会发生什么情况 它是否使用同一系列的字体 只是 Sans Serif 还是其他字体 您的应用程序将回退到 Segoe UI Tahoma 然后是 MS Sa
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • Cmake 链接共享库:包含库中的头文件时“没有这样的文件或目录”

    我正在学习使用 CMake 构建库 构建库的代码结构如下 include Test hpp ITest hpp interface src Test cpp ITest cpp 在 CMakeLists txt 中 我用来构建库的句子是 f
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • 为什么 gcc 抱怨“错误:模板参数 '0' 的类型 'intT' 取决于模板参数”?

    我的编译器是gcc 4 9 0 以下代码无法编译 template
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • 如何部署“SQL Server Express + EF”应用程序

    这是我第一次部署使用 SQL Server Express 数据库的应用程序 我首先使用实体 框架模型来联系数据库 我使用 Install Shield 创建了一个安装向导来安装应用程序 这些是我在目标计算机中安装应用程序所执行的步骤 安装
  • 我的班级应该订阅自己的公共活动吗?

    我正在使用 C 3 0 遵循标准事件模式我有 public event EventHandler
  • Oracle Data Provider for .NET 不支持 Oracle 19.0.48.0.0

    我们刚刚升级到 Oracle 19c 19 3 0 所有应用程序都停止工作并出现以下错误消息 Oracle Data Provider for NET 不支持 Oracle 19 0 48 0 0 我将 Oracle ManagedData

随机推荐

  • Sphinx 和 Markdown .md 链接

    我正在尝试使用 Sphinx 将 Markdown 文件转换为 html 但遇到问题 links another md 将被翻译成 a href another html links a 而是目标的扩展仍然是原始的 md并显示为 a hre
  • 在 Perl 中,@array[1] 和 $array[1] 有什么区别?

    我一直在研究数组切片坦率地说 看不出选择之间的区别 array 1 and array 1 有区别吗 usr bin perl array 1 3 print nPrinting out full array array n print a
  • 在 mac osx 上注册协议?

    我已经在windows中完成了 如何在mac osx上注册协议 我想单击 Firefox 中的链接 a href somename mylinkAndData 并启动二进制文件 看看苹果的启动服务编程指南 你必须添加CFBundleURL类
  • C# 中 Overlapped PictureBox 的透明度问题

    我正在面板中显示PictureBox重叠 因为每个PictureBox用来 作为一层 第一次PictureBox已定义并添加到面板的背景颜色 是透明的 它的图像是空的 问题是 底层看不到 透明图像 显示的是 面板的接地 例外的是底部Pict
  • 在基于导航的应用程序中将背景图像添加到 UITableViewController

    我有一个基于导航的应用程序 我可以在其中推送UITableViewControllers到堆栈上 我想添加背景UImage致我所有的UITableViewControllers 不是一个UIColor 但是一个UImage 我知道如何使用N
  • Google Colaboratory 中的 openAI Gym NameError

    我刚刚在 Google Colab 上安装了 openAIgym 但是当我尝试运行 CartPole v0 环境时在这里解释 Code import gym env gym make CartPole v0 for i episode in
  • 在 yii2 中使用限制范围?

    我想使用从数据库获取数据限制 12 20 这是我的代码 Query new Query Query gt select um id as USERid um first name um last name um email COUNT g
  • 如何在git中查看旧版本的文件夹

    我需要从原点提取更改 问题是其中一个库已更新到最新版本 它使我的应用程序部分崩溃 我想提取最近的更改 然后返回到仅一个文件夹的先前 或特定 版本 其中包含导致该问题的 lib txt 文件 有什么办法可以做到这一点吗 git checkou
  • setMethod("$<-") 和 set setReplaceMethod("$") 有什么区别?

    Question 当编程时r与s4面向对象系统 当一个人必须使用setReplaceMethod 我不明白与setMethod添加时 lt 到函数的名称 做setMethod lt and setReplaceMethod 是平等的吗 文档
  • C# 中“get”和“set”属性的用途是什么

    我看到一些 get set 方法来设置值 谁能告诉我这样做的目的吗 public string HTTP USER NAME get return UserName set UserName value public string HTTP
  • TensorFlow 2.0 [条件 x == y 不按元素成立:]

    我正在使用 TensorFlow 2 和 Keras 训练国际象棋程序 以前 如果我在与模型训练相同的脚本中加载数据 我就可以完成这项工作 但随着数据集变得更大 腌制数据然后重新加载它会更快 当我这样做时 即使将模型修剪到一层以简化问题 我
  • 在 Node.js 中使用串口进行异步/等待

    使用 Node js 致力于 PC 和基于 Arduino 的硬件之间的通信 最后一个设备是用 G 代码实现的 所以如果我发送 G0 我将收到两行 一个用于确认已收到指令 第二个用于确认数据 我想使用 async await 但出了点问题
  • CORS:为什么我成功获得了预检选项,但发布后仍然出现 CORS 错误? [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 目前不接受答案 我有一个使用 axios 发出 http 请求的 Vue 前端 以及一个使用express 的 Node 后端 它们位于不同的域 本地运行时 BE端口是3080 FE端口是3
  • 为什么Java中的private static field = new Singleton不懒呢?

    我读了很多关于 Singleton 的文章 其中大多数作者都说 Java 中 Singleton 的这种变体 public class Singleton private static Singleton instance new Sing
  • 在某个元素之前添加元素

    我有这个代码 td div class imagebutton abc div td 我想在这段代码中添加另一个元素 如下所示 p blablablalblablab p td div class imagebutton abc div t
  • 如何判断 Perl 脚本是否在 CGI 上下文中执行?

    我有一个 Perl 脚本 它将从命令行作为 CGI 运行 从 Perl 脚本中 我如何知道它是如何运行的 最好的选择是检查GATEWAY INTERFACE环境变量 它将包含服务器正在使用的 CGI 协议的版本 这几乎总是CGI 1 1 T
  • 使用 VB 6 代码从任务管理器结束进程

    我需要粗略地终止一个应用程序 以便我可以在我的数据库中获得该应用程序的幻像订阅者 这不能通过关闭应用程序来产生 手动地 如果我们从任务管理器终止应用程序 幻影订阅者将存在 现在我需要在 VB 6 代码中自动完成它 帮助 谢谢 有两种方法 S
  • 使用 download.file() 从 HTTPS 下载文件

    我想使用 R 读取在线数据download file 如下所示 URL lt https d396qusza40orc cloudfront net getdata 2Fdata 2Fss06hid csv download file UR
  • C(非 C++)有限域(伽罗瓦域)线性代数库

    我正在寻找一个有限域 伽罗瓦域C 的精确线性代数库 C 是不可接受的 因为我需要能够编写一个 Haskell 绑定到它 这显然是C 很难 我找到了类似的图书馆FFLAS FFPACK and Givaro但这些是 C 模板库 In part
  • 地址清理程序不适用于 Windows 上的 bash

    目前在 Windows 上的 Ubuntu Bash 上运行 llvm clang clang format 和 clang modernize 我想使用谷歌发布的一套清理工具 包括地址 内存和线程清理 fsanitize 选项似乎都不起作